Google has announced its latest API with a haiku of all things:
New admin tool dawns
Settings change like the seasons
For hosted email
That's from Andrew Olsen of the Google Apps team, announcing the Google Email Settings API, which allows IT administrators at organizations that use the Gmail-based Google Apps hosted webmail solution to "programmatically update Gmail settings for their users in bulk by making requests to a GData feed." Previously, settings could only be changed manually, on an account-by-account basis.
Through the API administrators can create labels, filters, and send-as aliases, and change general settings as well as forwarding, POP, IMAP, vacation autoresponder, signature, and language settings. For authentication Google's ClientLogin interface is used, and both requests and responses use the XML-based Atom protocol. Each setting has a unique URL in the following form:
Some settingIDs, like label and filter, accept POST requests, while others, like pop, imap, and signature require PUT requests. Forwarding, POP, and IMAP settings are only available after the end-user has accepted Google's Terms of Service for those features.
The documentation for the Google Email Settings API is thorough, outlining all of the API's functions and providing example XML requests and responses for each, and a troubleshooting guide is included for good measure. Developer support is available, as usual, on Google Groups.
The new API is available for both Enterprise and Education Edition accounts, but no plans have been announced for making it available to non-Google Apps Gmail users.