The Gmail API lets you view and manage Gmail mailbox data like threads, messages, and labels.
- REST Resource: v1.users
- REST Resource: v1.users.drafts
- REST Resource: v1.users.history
- REST Resource: v1.users.labels
- REST Resource: v1.users.messages
- REST Resource: v1.users.messages.attachments
- REST Resource: v1.users.settings
- REST Resource: v1.users.settings.cse.identities
- REST Resource: v1.users.settings.cse.keypairs
- REST Resource: v1.users.settings.delegates
- REST Resource: v1.users.settings.filters
- REST Resource: v1.users.settings.forwardingAddresses
- REST Resource: v1.users.settings.sendAs
- REST Resource: v1.users.settings.sendAs.smimeInfo
- REST Resource: v1.users.threads
Service: gmail.googleapis.com
To call this service, we recommend that you use the Google-provided client libraries . If your application needs to use your own libraries to call this service, use the following information when you make the API requests.
Discovery document
A Discovery Document is a machine-readable specification for describing and consuming REST APIs. It is used to build client libraries, IDE plugins, and other tools that interact with Google APIs. One service may provide multiple discovery documents. This service provides the following discovery document:
Service endpoint
A service endpoint is a base URL that specifies the network address of an API service. One service might have multiple service endpoints. This service has the following service endpoint and all URIs below are relative to this service endpoint:
-
https://gmail.googleapis.com
REST Resource: v1.users
Methods | |
---|---|
getProfile
|
GET /gmail/v1/users/{userId}/profile
Gets the current user's Gmail profile. |
stop
|
POST /gmail/v1/users/{userId}/stop
Stop receiving push notifications for the given user mailbox. |
watch
|
POST /gmail/v1/users/{userId}/watch
Set up or update a push notification watch on the given user mailbox. |
REST Resource: v1.users.drafts
Methods | |
---|---|
create
|
POST /gmail/v1/users/{userId}/drafts
POST /upload/gmail/v1/users/{userId}/drafts
Creates a new draft with the DRAFT
label. |
delete
|
DELETE /gmail/v1/users/{userId}/drafts/{id}
Immediately and permanently deletes the specified draft. |
get
|
GET /gmail/v1/users/{userId}/drafts/{id}
Gets the specified draft. |
list
|
GET /gmail/v1/users/{userId}/drafts
Lists the drafts in the user's mailbox. |
send
|
POST /gmail/v1/users/{userId}/drafts/send
POST /upload/gmail/v1/users/{userId}/drafts/send
Sends the specified, existing draft to the recipients in the To
, Cc
, and Bcc
headers. |
update
|
PUT /gmail/v1/users/{userId}/drafts/{id}
PUT /upload/gmail/v1/users/{userId}/drafts/{id}
Replaces a draft's content. |
REST Resource: v1.users.history
Methods | |
---|---|
list
|
GET /gmail/v1/users/{userId}/history
Lists the history of all changes to the given mailbox. |
REST Resource: v1.users.labels
Methods | |
---|---|
create
|
POST /gmail/v1/users/{userId}/labels
Creates a new label. |
delete
|
DELETE /gmail/v1/users/{userId}/labels/{id}
Immediately and permanently deletes the specified label and removes it from any messages and threads that it is applied to. |
get
|
GET /gmail/v1/users/{userId}/labels/{id}
Gets the specified label. |
list
|
GET /gmail/v1/users/{userId}/labels
Lists all labels in the user's mailbox. |
patch
|
PATCH /gmail/v1/users/{userId}/labels/{id}
Patch the specified label. |
update
|
PUT /gmail/v1/users/{userId}/labels/{id}
Updates the specified label. |
REST Resource: v1.users.settings
Methods | |
---|---|
getAutoForwarding
|
GET /gmail/v1/users/{userId}/settings/autoForwarding
Gets the auto-forwarding setting for the specified account. |
getImap
|
GET /gmail/v1/users/{userId}/settings/imap
Gets IMAP settings. |
getLanguage
|
GET /gmail/v1/users/{userId}/settings/language
Gets language settings. |
getPop
|
GET /gmail/v1/users/{userId}/settings/pop
Gets POP settings. |
getVacation
|
GET /gmail/v1/users/{userId}/settings/vacation
Gets vacation responder settings. |
updateAutoForwarding
|
PUT /gmail/v1/users/{userId}/settings/autoForwarding
Updates the auto-forwarding setting for the specified account. |
updateImap
|
PUT /gmail/v1/users/{userId}/settings/imap
Updates IMAP settings. |
updateLanguage
|
PUT /gmail/v1/users/{userId}/settings/language
Updates language settings. |
updatePop
|
PUT /gmail/v1/users/{userId}/settings/pop
Updates POP settings. |
updateVacation
|
PUT /gmail/v1/users/{userId}/settings/vacation
Updates vacation responder settings. |
REST Resource: v1.users.settings.cse.identities
Methods | |
---|---|
create
|
POST /gmail/v1/users/{userId}/settings/cse/identities
Creates and configures a client-side encryption identity that's authorized to send mail from the user account. |
delete
|
DELETE /gmail/v1/users/{userId}/settings/cse/identities/{cseEmailAddress}
Deletes a client-side encryption identity. |
get
|
GET /gmail/v1/users/{userId}/settings/cse/identities/{cseEmailAddress}
Retrieves a client-side encryption identity configuration. |
list
|
GET /gmail/v1/users/{userId}/settings/cse/identities
Lists the client-side encrypted identities for an authenticated user. |
patch
|
PATCH /gmail/v1/users/{userId}/settings/cse/identities/{emailAddress}
Associates a different key pair with an existing client-side encryption identity. |
REST Resource: v1.users.settings.cse.keypairs
Methods | |
---|---|
create
|
POST /gmail/v1/users/{userId}/settings/cse/keypairs
Creates and uploads a client-side encryption S/MIME public key certificate chain and private key metadata for the authenticated user. |
disable
|
POST /gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:disable
Turns off a client-side encryption key pair. |
enable
|
POST /gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:enable
Turns on a client-side encryption key pair that was turned off. |
get
|
GET /gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}
Retrieves an existing client-side encryption key pair. |
list
|
GET /gmail/v1/users/{userId}/settings/cse/keypairs
Lists client-side encryption key pairs for an authenticated user. |
obliterate
|
POST /gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:obliterate
Deletes a client-side encryption key pair permanently and immediately. |
REST Resource: v1.users.settings.delegates
Methods | |
---|---|
create
|
POST /gmail/v1/users/{userId}/settings/delegates
Adds a delegate with its verification status set directly to accepted
, without sending any verification email. |
delete
|
DELETE /gmail/v1/users/{userId}/settings/delegates/{delegateEmail}
Removes the specified delegate (which can be of any verification status), and revokes any verification that may have been required for using it. |
get
|
GET /gmail/v1/users/{userId}/settings/delegates/{delegateEmail}
Gets the specified delegate. |
list
|
GET /gmail/v1/users/{userId}/settings/delegates
Lists the delegates for the specified account. |
REST Resource: v1.users.settings.filters
Methods | |
---|---|
create
|
POST /gmail/v1/users/{userId}/settings/filters
Creates a filter. |
delete
|
DELETE /gmail/v1/users/{userId}/settings/filters/{id}
Immediately and permanently deletes the specified filter. |
get
|
GET /gmail/v1/users/{userId}/settings/filters/{id}
Gets a filter. |
list
|
GET /gmail/v1/users/{userId}/settings/filters
Lists the message filters of a Gmail user. |
REST Resource: v1.users.settings.forwardingAddresses
Methods | |
---|---|
create
|
POST /gmail/v1/users/{userId}/settings/forwardingAddresses
Creates a forwarding address. |
delete
|
DELETE /gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}
Deletes the specified forwarding address and revokes any verification that may have been required. |
get
|
GET /gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}
Gets the specified forwarding address. |
list
|
GET /gmail/v1/users/{userId}/settings/forwardingAddresses
Lists the forwarding addresses for the specified account. |
REST Resource: v1.users.settings.sendAs
Methods | |
---|---|
create
|
POST /gmail/v1/users/{userId}/settings/sendAs
Creates a custom "from" send-as alias. |
delete
|
DELETE /gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}
Deletes the specified send-as alias. |
get
|
GET /gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}
Gets the specified send-as alias. |
list
|
GET /gmail/v1/users/{userId}/settings/sendAs
Lists the send-as aliases for the specified account. |
patch
|
PATCH /gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}
Patch the specified send-as alias. |
update
|
PUT /gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}
Updates a send-as alias. |
verify
|
POST /gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/verify
Sends a verification email to the specified send-as alias address. |
REST Resource: v1.users.settings.sendAs.smimeInfo
Methods | |
---|---|
delete
|
DELETE /gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}
Deletes the specified S/MIME config for the specified send-as alias. |
get
|
GET /gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}
Gets the specified S/MIME config for the specified send-as alias. |
insert
|
POST /gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo
Insert (upload) the given S/MIME config for the specified send-as alias. |
list
|
GET /gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo
Lists S/MIME configs for the specified send-as alias. |
setDefault
|
POST /gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault
Sets the default S/MIME config for the specified send-as alias. |
REST Resource: v1.users.threads
Methods | |
---|---|
delete
|
DELETE /gmail/v1/users/{userId}/threads/{id}
Immediately and permanently deletes the specified thread. |
get
|
GET /gmail/v1/users/{userId}/threads/{id}
Gets the specified thread. |
list
|
GET /gmail/v1/users/{userId}/threads
Lists the threads in the user's mailbox. |
modify
|
POST /gmail/v1/users/{userId}/threads/{id}/modify
Modifies the labels applied to the thread. |
trash
|
POST /gmail/v1/users/{userId}/threads/{id}/trash
Moves the specified thread to the trash. |
untrash
|
POST /gmail/v1/users/{userId}/threads/{id}/untrash
Removes the specified thread from the trash. |