Google Provisioning API
Google Apps allows website administrators to offer their users cobranded versions of a variety of personalized Google applications, such as Gmail. This document describes the Google Apps Provisioning API, which enables Google partners to programmatically enable access to these applications. Specifically, the API provides functions for creating, retrieving, updating and deleting user accounts, nicknames and email lists.
This version of the Provisioning API follows the principles of the Google Data (GData) APIs. GData APIs are based on both the Atom 1.0 and RSS 2.0 syndication formats in addition to the Atom Publishing Protocol. ++
Note: The Provisioning API is only available to Google Apps Premier Edition and Google Apps Education Edition partners. To enable the API, log in to your admin account, and click the User accounts tab. Then click the Settings subtab to enable the API, select the checkbox to enable the Provisioning API and save your changes. (You will need to complete the steps for setting up Google Apps APIs
before you can log in to your admin account.)
To use the API, you will send HTTP requests to Google that instruct Google to perform a create, retrieve, update or delete operation on a resource in your domain. Resources include user accounts, nicknames and email lists.
- Create operations enable partners to add new user accounts, nicknames and email lists. Partners can also subscribe an email address to an email list using a Create request. To perform any of these operations, you will issue an HTTP POST request to the appropriate URL. The body of the POST request will be an XML document that contains information about the resource being created.
- Retrieve operations allow Google partners to request and obtain information about user accounts, nicknames and email lists. To retrieve information about one of these resources, you will issue an HTTP GET request to the appropriate URL. The URL will contain information that identifies the requested resource.
- Update operations allow Google partners to modify information about user accounts. To update a user account, you will issue an HTTP PUT request to the appropriate URL. The body of the PUT request will be an XML document that contains information about the resource being updated. The API supports the following types of updates:
- Update a user's first name, last name or password.
- Suspend or restore access to a user account.
- Update the disk space allocated to the user. (This feature is not available to all partners.)
Note: The API does not support updates to nicknames or email lists. To change a nickname or email list, you must delete the old entity and create a new one in its place. To update the list of subscribers to an email list, you must use the API requests for creating or deleting email list recipients.
- Delete operations allow Google partners to delete user accounts, nicknames and email lists. Partners can also remove an email address from an email list using a Delete request. To perform any of these operations, you will issue an HTTP DELETE request to the appropriate URL. The URL will contain information that identifies the resource being deleted.
Note: If you delete an account, you will not be able to create another account with the same username for at least five days.
Google will verify that all Create and Update requests contain valid XML, include all required data fields and meet authentication requirements.
All of your API requests must be sent over HTTPS. Each API request that you send needs to contain an authentication token, which Google will use to authorize access to the operation specified in the API request. Authentication tokens are only available to users who have administrative rights in domain, and those tokens only authorize operations within domain.
How the API Works
To execute an operation using the API, you need to submit an HTTP POST, GET, PUT or DELETE request to the URL that corresponds to the operation that you wish to perform. Each URL includes variables that identify your domain and, possibly, the resource that you are creating, retrieving, updating or deleting.