blob: 048e7c61c0dc33227d8b851432a0cc55364155f9 [file] [log] [blame]
{
"auth": {
"oauth2": {
"scopes": {
"https://mail.google.com/": {
"description": "Read, compose, send, and permanently delete all your email from Gmail"
},
"https://www.googleapis.com/auth/gmail.compose": {
"description": "Manage drafts and send emails"
},
"https://www.googleapis.com/auth/gmail.insert": {
"description": "Insert mail into your mailbox"
},
"https://www.googleapis.com/auth/gmail.labels": {
"description": "Manage mailbox labels"
},
"https://www.googleapis.com/auth/gmail.metadata": {
"description": "View your email message metadata such as labels and headers, but not the email body"
},
"https://www.googleapis.com/auth/gmail.modify": {
"description": "View and modify but not delete your email"
},
"https://www.googleapis.com/auth/gmail.readonly": {
"description": "View your email messages and settings"
},
"https://www.googleapis.com/auth/gmail.send": {
"description": "Send email on your behalf"
},
"https://www.googleapis.com/auth/gmail.settings.basic": {
"description": "Manage your basic mail settings"
},
"https://www.googleapis.com/auth/gmail.settings.sharing": {
"description": "Manage your sensitive mail settings, including who can manage your mail"
}
}
}
},
"basePath": "/gmail/v1/users/",
"baseUrl": "https://www.googleapis.com/gmail/v1/users/",
"batchPath": "batch/gmail/v1",
"description": "Access Gmail mailboxes including sending user email.",
"discoveryVersion": "v1",
"documentationLink": "https://developers.google.com/gmail/api/",
"etag": "\"J3WqvAcMk4eQjJXvfSI4Yr8VouA/x4D3RSeprBTpZ7qUUZRnzZsdMkA\"",
"icons": {
"x16": "https://www.google.com/images/icons/product/googlemail-16.png",
"x32": "https://www.google.com/images/icons/product/googlemail-32.png"
},
"id": "gmail:v1",
"kind": "discovery#restDescription",
"name": "gmail",
"ownerDomain": "google.com",
"ownerName": "Google",
"parameters": {
"alt": {
"default": "json",
"description": "Data format for the response.",
"enum": [
"json"
],
"enumDescriptions": [
"Responses with Content-Type of application/json"
],
"location": "query",
"type": "string"
},
"fields": {
"description": "Selector specifying which fields to include in a partial response.",
"location": "query",
"type": "string"
},
"key": {
"description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.",
"location": "query",
"type": "string"
},
"oauth_token": {
"description": "OAuth 2.0 token for the current user.",
"location": "query",
"type": "string"
},
"prettyPrint": {
"default": "true",
"description": "Returns response with indentations and line breaks.",
"location": "query",
"type": "boolean"
},
"quotaUser": {
"description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.",
"location": "query",
"type": "string"
},
"userIp": {
"description": "Deprecated. Please use quotaUser instead.",
"location": "query",
"type": "string"
}
},
"protocol": "rest",
"resources": {
"users": {
"methods": {
"getProfile": {
"description": "Gets the current user's Gmail profile.",
"httpMethod": "GET",
"id": "gmail.users.getProfile",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/profile",
"response": {
"$ref": "Profile"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.compose",
"https://www.googleapis.com/auth/gmail.metadata",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly"
]
},
"stop": {
"description": "Stop receiving push notifications for the given user mailbox.",
"httpMethod": "POST",
"id": "gmail.users.stop",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/stop",
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.metadata",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly"
]
},
"watch": {
"description": "Set up or update a push notification watch on the given user mailbox.",
"httpMethod": "POST",
"id": "gmail.users.watch",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/watch",
"request": {
"$ref": "WatchRequest"
},
"response": {
"$ref": "WatchResponse"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.metadata",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly"
]
}
},
"resources": {
"drafts": {
"methods": {
"create": {
"description": "Creates a new draft with the DRAFT label.",
"httpMethod": "POST",
"id": "gmail.users.drafts.create",
"mediaUpload": {
"accept": [
"message/rfc822"
],
"maxSize": "35MB",
"protocols": {
"resumable": {
"multipart": true,
"path": "/resumable/upload/gmail/v1/users/{userId}/drafts"
},
"simple": {
"multipart": true,
"path": "/upload/gmail/v1/users/{userId}/drafts"
}
}
},
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/drafts",
"request": {
"$ref": "Draft"
},
"response": {
"$ref": "Draft"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.compose",
"https://www.googleapis.com/auth/gmail.modify"
],
"supportsMediaUpload": true
},
"delete": {
"description": "Immediately and permanently deletes the specified draft. Does not simply trash it.",
"httpMethod": "DELETE",
"id": "gmail.users.drafts.delete",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the draft to delete.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/drafts/{id}",
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.compose",
"https://www.googleapis.com/auth/gmail.modify"
]
},
"get": {
"description": "Gets the specified draft.",
"httpMethod": "GET",
"id": "gmail.users.drafts.get",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"format": {
"default": "full",
"description": "The format to return the draft in.",
"enum": [
"full",
"metadata",
"minimal",
"raw"
],
"enumDescriptions": [
"",
"",
"",
""
],
"location": "query",
"type": "string"
},
"id": {
"description": "The ID of the draft to retrieve.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/drafts/{id}",
"response": {
"$ref": "Draft"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.compose",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly"
]
},
"list": {
"description": "Lists the drafts in the user's mailbox.",
"httpMethod": "GET",
"id": "gmail.users.drafts.list",
"parameterOrder": [
"userId"
],
"parameters": {
"includeSpamTrash": {
"default": "false",
"description": "Include drafts from SPAM and TRASH in the results.",
"location": "query",
"type": "boolean"
},
"maxResults": {
"default": "100",
"description": "Maximum number of drafts to return.",
"format": "uint32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Page token to retrieve a specific page of results in the list.",
"location": "query",
"type": "string"
},
"q": {
"description": "Only return draft messages matching the specified query. Supports the same query format as the Gmail search box. For example, \"from:someuser@example.com rfc822msgid: is:unread\".",
"location": "query",
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/drafts",
"response": {
"$ref": "ListDraftsResponse"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.compose",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly"
]
},
"send": {
"description": "Sends the specified, existing draft to the recipients in the To, Cc, and Bcc headers.",
"httpMethod": "POST",
"id": "gmail.users.drafts.send",
"mediaUpload": {
"accept": [
"message/rfc822"
],
"maxSize": "35MB",
"protocols": {
"resumable": {
"multipart": true,
"path": "/resumable/upload/gmail/v1/users/{userId}/drafts/send"
},
"simple": {
"multipart": true,
"path": "/upload/gmail/v1/users/{userId}/drafts/send"
}
}
},
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/drafts/send",
"request": {
"$ref": "Draft"
},
"response": {
"$ref": "Message"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.compose",
"https://www.googleapis.com/auth/gmail.modify"
],
"supportsMediaUpload": true
},
"update": {
"description": "Replaces a draft's content.",
"httpMethod": "PUT",
"id": "gmail.users.drafts.update",
"mediaUpload": {
"accept": [
"message/rfc822"
],
"maxSize": "35MB",
"protocols": {
"resumable": {
"multipart": true,
"path": "/resumable/upload/gmail/v1/users/{userId}/drafts/{id}"
},
"simple": {
"multipart": true,
"path": "/upload/gmail/v1/users/{userId}/drafts/{id}"
}
}
},
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the draft to update.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/drafts/{id}",
"request": {
"$ref": "Draft"
},
"response": {
"$ref": "Draft"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.compose",
"https://www.googleapis.com/auth/gmail.modify"
],
"supportsMediaUpload": true
}
}
},
"history": {
"methods": {
"list": {
"description": "Lists the history of all changes to the given mailbox. History results are returned in chronological order (increasing historyId).",
"httpMethod": "GET",
"id": "gmail.users.history.list",
"parameterOrder": [
"userId"
],
"parameters": {
"historyTypes": {
"description": "History types to be returned by the function",
"enum": [
"labelAdded",
"labelRemoved",
"messageAdded",
"messageDeleted"
],
"enumDescriptions": [
"",
"",
"",
""
],
"location": "query",
"repeated": true,
"type": "string"
},
"labelId": {
"description": "Only return messages with a label matching the ID.",
"location": "query",
"type": "string"
},
"maxResults": {
"default": "100",
"description": "The maximum number of history records to return.",
"format": "uint32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Page token to retrieve a specific page of results in the list.",
"location": "query",
"type": "string"
},
"startHistoryId": {
"description": "Required. Returns history records after the specified startHistoryId. The supplied startHistoryId should be obtained from the historyId of a message, thread, or previous list response. History IDs increase chronologically but are not contiguous with random gaps in between valid IDs. Supplying an invalid or out of date startHistoryId typically returns an HTTP 404 error code. A historyId is typically valid for at least a week, but in some rare circumstances may be valid for only a few hours. If you receive an HTTP 404 error response, your application should perform a full sync. If you receive no nextPageToken in the response, there are no updates to retrieve and you can store the returned historyId for a future request.",
"format": "uint64",
"location": "query",
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/history",
"response": {
"$ref": "ListHistoryResponse"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.metadata",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly"
]
}
}
},
"labels": {
"methods": {
"create": {
"description": "Creates a new label.",
"httpMethod": "POST",
"id": "gmail.users.labels.create",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/labels",
"request": {
"$ref": "Label"
},
"response": {
"$ref": "Label"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.labels",
"https://www.googleapis.com/auth/gmail.modify"
]
},
"delete": {
"description": "Immediately and permanently deletes the specified label and removes it from any messages and threads that it is applied to.",
"httpMethod": "DELETE",
"id": "gmail.users.labels.delete",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the label to delete.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/labels/{id}",
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.labels",
"https://www.googleapis.com/auth/gmail.modify"
]
},
"get": {
"description": "Gets the specified label.",
"httpMethod": "GET",
"id": "gmail.users.labels.get",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the label to retrieve.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/labels/{id}",
"response": {
"$ref": "Label"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.labels",
"https://www.googleapis.com/auth/gmail.metadata",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly"
]
},
"list": {
"description": "Lists all labels in the user's mailbox.",
"httpMethod": "GET",
"id": "gmail.users.labels.list",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/labels",
"response": {
"$ref": "ListLabelsResponse"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.labels",
"https://www.googleapis.com/auth/gmail.metadata",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly"
]
},
"patch": {
"description": "Updates the specified label. This method supports patch semantics.",
"httpMethod": "PATCH",
"id": "gmail.users.labels.patch",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the label to update.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/labels/{id}",
"request": {
"$ref": "Label"
},
"response": {
"$ref": "Label"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.labels",
"https://www.googleapis.com/auth/gmail.modify"
]
},
"update": {
"description": "Updates the specified label.",
"httpMethod": "PUT",
"id": "gmail.users.labels.update",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the label to update.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/labels/{id}",
"request": {
"$ref": "Label"
},
"response": {
"$ref": "Label"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.labels",
"https://www.googleapis.com/auth/gmail.modify"
]
}
}
},
"messages": {
"methods": {
"batchDelete": {
"description": "Deletes many messages by message ID. Provides no guarantees that messages were not already deleted or even existed at all.",
"httpMethod": "POST",
"id": "gmail.users.messages.batchDelete",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/messages/batchDelete",
"request": {
"$ref": "BatchDeleteMessagesRequest"
},
"scopes": [
"https://mail.google.com/"
]
},
"batchModify": {
"description": "Modifies the labels on the specified messages.",
"httpMethod": "POST",
"id": "gmail.users.messages.batchModify",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/messages/batchModify",
"request": {
"$ref": "BatchModifyMessagesRequest"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify"
]
},
"delete": {
"description": "Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer messages.trash instead.",
"httpMethod": "DELETE",
"id": "gmail.users.messages.delete",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the message to delete.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/messages/{id}",
"scopes": [
"https://mail.google.com/"
]
},
"get": {
"description": "Gets the specified message.",
"httpMethod": "GET",
"id": "gmail.users.messages.get",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"format": {
"default": "full",
"description": "The format to return the message in.",
"enum": [
"full",
"metadata",
"minimal",
"raw"
],
"enumDescriptions": [
"",
"",
"",
""
],
"location": "query",
"type": "string"
},
"id": {
"description": "The ID of the message to retrieve.",
"location": "path",
"required": true,
"type": "string"
},
"metadataHeaders": {
"description": "When given and format is METADATA, only include headers specified.",
"location": "query",
"repeated": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/messages/{id}",
"response": {
"$ref": "Message"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.metadata",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly"
]
},
"import": {
"description": "Imports a message into only this user's mailbox, with standard email delivery scanning and classification similar to receiving via SMTP. Does not send a message.",
"httpMethod": "POST",
"id": "gmail.users.messages.import",
"mediaUpload": {
"accept": [
"message/rfc822"
],
"maxSize": "50MB",
"protocols": {
"resumable": {
"multipart": true,
"path": "/resumable/upload/gmail/v1/users/{userId}/messages/import"
},
"simple": {
"multipart": true,
"path": "/upload/gmail/v1/users/{userId}/messages/import"
}
}
},
"parameterOrder": [
"userId"
],
"parameters": {
"deleted": {
"default": "false",
"description": "Mark the email as permanently deleted (not TRASH) and only visible in Google Vault to a Vault administrator. Only used for G Suite accounts.",
"location": "query",
"type": "boolean"
},
"internalDateSource": {
"default": "dateHeader",
"description": "Source for Gmail's internal date of the message.",
"enum": [
"dateHeader",
"receivedTime"
],
"enumDescriptions": [
"",
""
],
"location": "query",
"type": "string"
},
"neverMarkSpam": {
"default": "false",
"description": "Ignore the Gmail spam classifier decision and never mark this email as SPAM in the mailbox.",
"location": "query",
"type": "boolean"
},
"processForCalendar": {
"default": "false",
"description": "Process calendar invites in the email and add any extracted meetings to the Google Calendar for this user.",
"location": "query",
"type": "boolean"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/messages/import",
"request": {
"$ref": "Message"
},
"response": {
"$ref": "Message"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.insert",
"https://www.googleapis.com/auth/gmail.modify"
],
"supportsMediaUpload": true
},
"insert": {
"description": "Directly inserts a message into only this user's mailbox similar to IMAP APPEND, bypassing most scanning and classification. Does not send a message.",
"httpMethod": "POST",
"id": "gmail.users.messages.insert",
"mediaUpload": {
"accept": [
"message/rfc822"
],
"maxSize": "50MB",
"protocols": {
"resumable": {
"multipart": true,
"path": "/resumable/upload/gmail/v1/users/{userId}/messages"
},
"simple": {
"multipart": true,
"path": "/upload/gmail/v1/users/{userId}/messages"
}
}
},
"parameterOrder": [
"userId"
],
"parameters": {
"deleted": {
"default": "false",
"description": "Mark the email as permanently deleted (not TRASH) and only visible in Google Vault to a Vault administrator. Only used for G Suite accounts.",
"location": "query",
"type": "boolean"
},
"internalDateSource": {
"default": "receivedTime",
"description": "Source for Gmail's internal date of the message.",
"enum": [
"dateHeader",
"receivedTime"
],
"enumDescriptions": [
"",
""
],
"location": "query",
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/messages",
"request": {
"$ref": "Message"
},
"response": {
"$ref": "Message"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.insert",
"https://www.googleapis.com/auth/gmail.modify"
],
"supportsMediaUpload": true
},
"list": {
"description": "Lists the messages in the user's mailbox.",
"httpMethod": "GET",
"id": "gmail.users.messages.list",
"parameterOrder": [
"userId"
],
"parameters": {
"includeSpamTrash": {
"default": "false",
"description": "Include messages from SPAM and TRASH in the results.",
"location": "query",
"type": "boolean"
},
"labelIds": {
"description": "Only return messages with labels that match all of the specified label IDs.",
"location": "query",
"repeated": true,
"type": "string"
},
"maxResults": {
"default": "100",
"description": "Maximum number of messages to return.",
"format": "uint32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Page token to retrieve a specific page of results in the list.",
"location": "query",
"type": "string"
},
"q": {
"description": "Only return messages matching the specified query. Supports the same query format as the Gmail search box. For example, \"from:someuser@example.com rfc822msgid:\u003csomemsgid@example.com\u003e is:unread\". Parameter cannot be used when accessing the api using the gmail.metadata scope.",
"location": "query",
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/messages",
"response": {
"$ref": "ListMessagesResponse"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.metadata",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly"
]
},
"modify": {
"description": "Modifies the labels on the specified message.",
"httpMethod": "POST",
"id": "gmail.users.messages.modify",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the message to modify.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/messages/{id}/modify",
"request": {
"$ref": "ModifyMessageRequest"
},
"response": {
"$ref": "Message"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify"
]
},
"send": {
"description": "Sends the specified message to the recipients in the To, Cc, and Bcc headers.",
"httpMethod": "POST",
"id": "gmail.users.messages.send",
"mediaUpload": {
"accept": [
"message/rfc822"
],
"maxSize": "35MB",
"protocols": {
"resumable": {
"multipart": true,
"path": "/resumable/upload/gmail/v1/users/{userId}/messages/send"
},
"simple": {
"multipart": true,
"path": "/upload/gmail/v1/users/{userId}/messages/send"
}
}
},
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/messages/send",
"request": {
"$ref": "Message"
},
"response": {
"$ref": "Message"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.compose",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.send"
],
"supportsMediaUpload": true
},
"trash": {
"description": "Moves the specified message to the trash.",
"httpMethod": "POST",
"id": "gmail.users.messages.trash",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the message to Trash.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/messages/{id}/trash",
"response": {
"$ref": "Message"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify"
]
},
"untrash": {
"description": "Removes the specified message from the trash.",
"httpMethod": "POST",
"id": "gmail.users.messages.untrash",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the message to remove from Trash.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/messages/{id}/untrash",
"response": {
"$ref": "Message"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify"
]
}
},
"resources": {
"attachments": {
"methods": {
"get": {
"description": "Gets the specified message attachment.",
"httpMethod": "GET",
"id": "gmail.users.messages.attachments.get",
"parameterOrder": [
"userId",
"messageId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the attachment.",
"location": "path",
"required": true,
"type": "string"
},
"messageId": {
"description": "The ID of the message containing the attachment.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/messages/{messageId}/attachments/{id}",
"response": {
"$ref": "MessagePartBody"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly"
]
}
}
}
}
},
"settings": {
"methods": {
"getAutoForwarding": {
"description": "Gets the auto-forwarding setting for the specified account.",
"httpMethod": "GET",
"id": "gmail.users.settings.getAutoForwarding",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/autoForwarding",
"response": {
"$ref": "AutoForwarding"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic"
]
},
"getImap": {
"description": "Gets IMAP settings.",
"httpMethod": "GET",
"id": "gmail.users.settings.getImap",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/imap",
"response": {
"$ref": "ImapSettings"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic"
]
},
"getPop": {
"description": "Gets POP settings.",
"httpMethod": "GET",
"id": "gmail.users.settings.getPop",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/pop",
"response": {
"$ref": "PopSettings"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic"
]
},
"getVacation": {
"description": "Gets vacation responder settings.",
"httpMethod": "GET",
"id": "gmail.users.settings.getVacation",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/vacation",
"response": {
"$ref": "VacationSettings"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic"
]
},
"updateAutoForwarding": {
"description": "Updates the auto-forwarding setting for the specified account. A verified forwarding address must be specified when auto-forwarding is enabled.\n\nThis method is only available to service account clients that have been delegated domain-wide authority.",
"httpMethod": "PUT",
"id": "gmail.users.settings.updateAutoForwarding",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/autoForwarding",
"request": {
"$ref": "AutoForwarding"
},
"response": {
"$ref": "AutoForwarding"
},
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
},
"updateImap": {
"description": "Updates IMAP settings.",
"httpMethod": "PUT",
"id": "gmail.users.settings.updateImap",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/imap",
"request": {
"$ref": "ImapSettings"
},
"response": {
"$ref": "ImapSettings"
},
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.basic"
]
},
"updatePop": {
"description": "Updates POP settings.",
"httpMethod": "PUT",
"id": "gmail.users.settings.updatePop",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/pop",
"request": {
"$ref": "PopSettings"
},
"response": {
"$ref": "PopSettings"
},
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.basic"
]
},
"updateVacation": {
"description": "Updates vacation responder settings.",
"httpMethod": "PUT",
"id": "gmail.users.settings.updateVacation",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/vacation",
"request": {
"$ref": "VacationSettings"
},
"response": {
"$ref": "VacationSettings"
},
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.basic"
]
}
},
"resources": {
"delegates": {
"methods": {
"create": {
"description": "Adds a delegate with its verification status set directly to accepted, without sending any verification email. The delegate user must be a member of the same G Suite organization as the delegator user.\n\nGmail imposes limtations on the number of delegates and delegators each user in a G Suite organization can have. These limits depend on your organization, but in general each user can have up to 25 delegates and up to 10 delegators.\n\nNote that a delegate user must be referred to by their primary email address, and not an email alias.\n\nAlso note that when a new delegate is created, there may be up to a one minute delay before the new delegate is available for use.\n\nThis method is only available to service account clients that have been delegated domain-wide authority.",
"httpMethod": "POST",
"id": "gmail.users.settings.delegates.create",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/delegates",
"request": {
"$ref": "Delegate"
},
"response": {
"$ref": "Delegate"
},
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
},
"delete": {
"description": "Removes the specified delegate (which can be of any verification status), and revokes any verification that may have been required for using it.\n\nNote that a delegate user must be referred to by their primary email address, and not an email alias.\n\nThis method is only available to service account clients that have been delegated domain-wide authority.",
"httpMethod": "DELETE",
"id": "gmail.users.settings.delegates.delete",
"parameterOrder": [
"userId",
"delegateEmail"
],
"parameters": {
"delegateEmail": {
"description": "The email address of the user to be removed as a delegate.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/delegates/{delegateEmail}",
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
},
"get": {
"description": "Gets the specified delegate.\n\nNote that a delegate user must be referred to by their primary email address, and not an email alias.\n\nThis method is only available to service account clients that have been delegated domain-wide authority.",
"httpMethod": "GET",
"id": "gmail.users.settings.delegates.get",
"parameterOrder": [
"userId",
"delegateEmail"
],
"parameters": {
"delegateEmail": {
"description": "The email address of the user whose delegate relationship is to be retrieved.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/delegates/{delegateEmail}",
"response": {
"$ref": "Delegate"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic"
]
},
"list": {
"description": "Lists the delegates for the specified account.\n\nThis method is only available to service account clients that have been delegated domain-wide authority.",
"httpMethod": "GET",
"id": "gmail.users.settings.delegates.list",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/delegates",
"response": {
"$ref": "ListDelegatesResponse"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic"
]
}
}
},
"filters": {
"methods": {
"create": {
"description": "Creates a filter.",
"httpMethod": "POST",
"id": "gmail.users.settings.filters.create",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/filters",
"request": {
"$ref": "Filter"
},
"response": {
"$ref": "Filter"
},
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.basic"
]
},
"delete": {
"description": "Deletes a filter.",
"httpMethod": "DELETE",
"id": "gmail.users.settings.filters.delete",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the filter to be deleted.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/filters/{id}",
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.basic"
]
},
"get": {
"description": "Gets a filter.",
"httpMethod": "GET",
"id": "gmail.users.settings.filters.get",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the filter to be fetched.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/filters/{id}",
"response": {
"$ref": "Filter"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic"
]
},
"list": {
"description": "Lists the message filters of a Gmail user.",
"httpMethod": "GET",
"id": "gmail.users.settings.filters.list",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/filters",
"response": {
"$ref": "ListFiltersResponse"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic"
]
}
}
},
"forwardingAddresses": {
"methods": {
"create": {
"description": "Creates a forwarding address. If ownership verification is required, a message will be sent to the recipient and the resource's verification status will be set to pending; otherwise, the resource will be created with verification status set to accepted.\n\nThis method is only available to service account clients that have been delegated domain-wide authority.",
"httpMethod": "POST",
"id": "gmail.users.settings.forwardingAddresses.create",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/forwardingAddresses",
"request": {
"$ref": "ForwardingAddress"
},
"response": {
"$ref": "ForwardingAddress"
},
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
},
"delete": {
"description": "Deletes the specified forwarding address and revokes any verification that may have been required.\n\nThis method is only available to service account clients that have been delegated domain-wide authority.",
"httpMethod": "DELETE",
"id": "gmail.users.settings.forwardingAddresses.delete",
"parameterOrder": [
"userId",
"forwardingEmail"
],
"parameters": {
"forwardingEmail": {
"description": "The forwarding address to be deleted.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/forwardingAddresses/{forwardingEmail}",
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
},
"get": {
"description": "Gets the specified forwarding address.",
"httpMethod": "GET",
"id": "gmail.users.settings.forwardingAddresses.get",
"parameterOrder": [
"userId",
"forwardingEmail"
],
"parameters": {
"forwardingEmail": {
"description": "The forwarding address to be retrieved.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/forwardingAddresses/{forwardingEmail}",
"response": {
"$ref": "ForwardingAddress"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic"
]
},
"list": {
"description": "Lists the forwarding addresses for the specified account.",
"httpMethod": "GET",
"id": "gmail.users.settings.forwardingAddresses.list",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/forwardingAddresses",
"response": {
"$ref": "ListForwardingAddressesResponse"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic"
]
}
}
},
"sendAs": {
"methods": {
"create": {
"description": "Creates a custom \"from\" send-as alias. If an SMTP MSA is specified, Gmail will attempt to connect to the SMTP service to validate the configuration before creating the alias. If ownership verification is required for the alias, a message will be sent to the email address and the resource's verification status will be set to pending; otherwise, the resource will be created with verification status set to accepted. If a signature is provided, Gmail will sanitize the HTML before saving it with the alias.\n\nThis method is only available to service account clients that have been delegated domain-wide authority.",
"httpMethod": "POST",
"id": "gmail.users.settings.sendAs.create",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/sendAs",
"request": {
"$ref": "SendAs"
},
"response": {
"$ref": "SendAs"
},
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
},
"delete": {
"description": "Deletes the specified send-as alias. Revokes any verification that may have been required for using it.\n\nThis method is only available to service account clients that have been delegated domain-wide authority.",
"httpMethod": "DELETE",
"id": "gmail.users.settings.sendAs.delete",
"parameterOrder": [
"userId",
"sendAsEmail"
],
"parameters": {
"sendAsEmail": {
"description": "The send-as alias to be deleted.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/sendAs/{sendAsEmail}",
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
},
"get": {
"description": "Gets the specified send-as alias. Fails with an HTTP 404 error if the specified address is not a member of the collection.",
"httpMethod": "GET",
"id": "gmail.users.settings.sendAs.get",
"parameterOrder": [
"userId",
"sendAsEmail"
],
"parameters": {
"sendAsEmail": {
"description": "The send-as alias to be retrieved.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/sendAs/{sendAsEmail}",
"response": {
"$ref": "SendAs"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic"
]
},
"list": {
"description": "Lists the send-as aliases for the specified account. The result includes the primary send-as address associated with the account as well as any custom \"from\" aliases.",
"httpMethod": "GET",
"id": "gmail.users.settings.sendAs.list",
"parameterOrder": [
"userId"
],
"parameters": {
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/sendAs",
"response": {
"$ref": "ListSendAsResponse"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic"
]
},
"patch": {
"description": "Updates a send-as alias. If a signature is provided, Gmail will sanitize the HTML before saving it with the alias.\n\nAddresses other than the primary address for the account can only be updated by service account clients that have been delegated domain-wide authority. This method supports patch semantics.",
"httpMethod": "PATCH",
"id": "gmail.users.settings.sendAs.patch",
"parameterOrder": [
"userId",
"sendAsEmail"
],
"parameters": {
"sendAsEmail": {
"description": "The send-as alias to be updated.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/sendAs/{sendAsEmail}",
"request": {
"$ref": "SendAs"
},
"response": {
"$ref": "SendAs"
},
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.basic",
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
},
"update": {
"description": "Updates a send-as alias. If a signature is provided, Gmail will sanitize the HTML before saving it with the alias.\n\nAddresses other than the primary address for the account can only be updated by service account clients that have been delegated domain-wide authority.",
"httpMethod": "PUT",
"id": "gmail.users.settings.sendAs.update",
"parameterOrder": [
"userId",
"sendAsEmail"
],
"parameters": {
"sendAsEmail": {
"description": "The send-as alias to be updated.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/sendAs/{sendAsEmail}",
"request": {
"$ref": "SendAs"
},
"response": {
"$ref": "SendAs"
},
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.basic",
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
},
"verify": {
"description": "Sends a verification email to the specified send-as alias address. The verification status must be pending.\n\nThis method is only available to service account clients that have been delegated domain-wide authority.",
"httpMethod": "POST",
"id": "gmail.users.settings.sendAs.verify",
"parameterOrder": [
"userId",
"sendAsEmail"
],
"parameters": {
"sendAsEmail": {
"description": "The send-as alias to be verified.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "User's email address. The special value \"me\" can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/sendAs/{sendAsEmail}/verify",
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
}
},
"resources": {
"smimeInfo": {
"methods": {
"delete": {
"description": "Deletes the specified S/MIME config for the specified send-as alias.",
"httpMethod": "DELETE",
"id": "gmail.users.settings.sendAs.smimeInfo.delete",
"parameterOrder": [
"userId",
"sendAsEmail",
"id"
],
"parameters": {
"id": {
"description": "The immutable ID for the SmimeInfo.",
"location": "path",
"required": true,
"type": "string"
},
"sendAsEmail": {
"description": "The email address that appears in the \"From:\" header for mail sent using this alias.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.basic",
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
},
"get": {
"description": "Gets the specified S/MIME config for the specified send-as alias.",
"httpMethod": "GET",
"id": "gmail.users.settings.sendAs.smimeInfo.get",
"parameterOrder": [
"userId",
"sendAsEmail",
"id"
],
"parameters": {
"id": {
"description": "The immutable ID for the SmimeInfo.",
"location": "path",
"required": true,
"type": "string"
},
"sendAsEmail": {
"description": "The email address that appears in the \"From:\" header for mail sent using this alias.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}",
"response": {
"$ref": "SmimeInfo"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic",
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
},
"insert": {
"description": "Insert (upload) the given S/MIME config for the specified send-as alias. Note that pkcs12 format is required for the key.",
"httpMethod": "POST",
"id": "gmail.users.settings.sendAs.smimeInfo.insert",
"parameterOrder": [
"userId",
"sendAsEmail"
],
"parameters": {
"sendAsEmail": {
"description": "The email address that appears in the \"From:\" header for mail sent using this alias.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
"request": {
"$ref": "SmimeInfo"
},
"response": {
"$ref": "SmimeInfo"
},
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.basic",
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
},
"list": {
"description": "Lists S/MIME configs for the specified send-as alias.",
"httpMethod": "GET",
"id": "gmail.users.settings.sendAs.smimeInfo.list",
"parameterOrder": [
"userId",
"sendAsEmail"
],
"parameters": {
"sendAsEmail": {
"description": "The email address that appears in the \"From:\" header for mail sent using this alias.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/sendAs/{sendAsEmail}/smimeInfo",
"response": {
"$ref": "ListSmimeInfoResponse"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly",
"https://www.googleapis.com/auth/gmail.settings.basic",
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
},
"setDefault": {
"description": "Sets the default S/MIME config for the specified send-as alias.",
"httpMethod": "POST",
"id": "gmail.users.settings.sendAs.smimeInfo.setDefault",
"parameterOrder": [
"userId",
"sendAsEmail",
"id"
],
"parameters": {
"id": {
"description": "The immutable ID for the SmimeInfo.",
"location": "path",
"required": true,
"type": "string"
},
"sendAsEmail": {
"description": "The email address that appears in the \"From:\" header for mail sent using this alias.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault",
"scopes": [
"https://www.googleapis.com/auth/gmail.settings.basic",
"https://www.googleapis.com/auth/gmail.settings.sharing"
]
}
}
}
}
}
}
},
"threads": {
"methods": {
"delete": {
"description": "Immediately and permanently deletes the specified thread. This operation cannot be undone. Prefer threads.trash instead.",
"httpMethod": "DELETE",
"id": "gmail.users.threads.delete",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "ID of the Thread to delete.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/threads/{id}",
"scopes": [
"https://mail.google.com/"
]
},
"get": {
"description": "Gets the specified thread.",
"httpMethod": "GET",
"id": "gmail.users.threads.get",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"format": {
"default": "full",
"description": "The format to return the messages in.",
"enum": [
"full",
"metadata",
"minimal"
],
"enumDescriptions": [
"",
"",
""
],
"location": "query",
"type": "string"
},
"id": {
"description": "The ID of the thread to retrieve.",
"location": "path",
"required": true,
"type": "string"
},
"metadataHeaders": {
"description": "When given and format is METADATA, only include headers specified.",
"location": "query",
"repeated": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/threads/{id}",
"response": {
"$ref": "Thread"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.metadata",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly"
]
},
"list": {
"description": "Lists the threads in the user's mailbox.",
"httpMethod": "GET",
"id": "gmail.users.threads.list",
"parameterOrder": [
"userId"
],
"parameters": {
"includeSpamTrash": {
"default": "false",
"description": "Include threads from SPAM and TRASH in the results.",
"location": "query",
"type": "boolean"
},
"labelIds": {
"description": "Only return threads with labels that match all of the specified label IDs.",
"location": "query",
"repeated": true,
"type": "string"
},
"maxResults": {
"default": "100",
"description": "Maximum number of threads to return.",
"format": "uint32",
"location": "query",
"type": "integer"
},
"pageToken": {
"description": "Page token to retrieve a specific page of results in the list.",
"location": "query",
"type": "string"
},
"q": {
"description": "Only return threads matching the specified query. Supports the same query format as the Gmail search box. For example, \"from:someuser@example.com rfc822msgid: is:unread\". Parameter cannot be used when accessing the api using the gmail.metadata scope.",
"location": "query",
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/threads",
"response": {
"$ref": "ListThreadsResponse"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.metadata",
"https://www.googleapis.com/auth/gmail.modify",
"https://www.googleapis.com/auth/gmail.readonly"
]
},
"modify": {
"description": "Modifies the labels applied to the thread. This applies to all messages in the thread.",
"httpMethod": "POST",
"id": "gmail.users.threads.modify",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the thread to modify.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/threads/{id}/modify",
"request": {
"$ref": "ModifyThreadRequest"
},
"response": {
"$ref": "Thread"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify"
]
},
"trash": {
"description": "Moves the specified thread to the trash.",
"httpMethod": "POST",
"id": "gmail.users.threads.trash",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the thread to Trash.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/threads/{id}/trash",
"response": {
"$ref": "Thread"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify"
]
},
"untrash": {
"description": "Removes the specified thread from the trash.",
"httpMethod": "POST",
"id": "gmail.users.threads.untrash",
"parameterOrder": [
"userId",
"id"
],
"parameters": {
"id": {
"description": "The ID of the thread to remove from Trash.",
"location": "path",
"required": true,
"type": "string"
},
"userId": {
"default": "me",
"description": "The user's email address. The special value me can be used to indicate the authenticated user.",
"location": "path",
"required": true,
"type": "string"
}
},
"path": "{userId}/threads/{id}/untrash",
"response": {
"$ref": "Thread"
},
"scopes": [
"https://mail.google.com/",
"https://www.googleapis.com/auth/gmail.modify"
]
}
}
}
}
}
},
"revision": "20180904",
"rootUrl": "https://www.googleapis.com/",
"schemas": {
"AutoForwarding": {
"description": "Auto-forwarding settings for an account.",
"id": "AutoForwarding",
"properties": {
"disposition": {
"description": "The state that a message should be left in after it has been forwarded.",
"enum": [
"archive",
"dispositionUnspecified",
"leaveInInbox",
"markRead",
"trash"
],
"enumDescriptions": [
"",
"",
"",
"",
""
],
"type": "string"
},
"emailAddress": {
"description": "Email address to which all incoming messages are forwarded. This email address must be a verified member of the forwarding addresses.",
"type": "string"
},
"enabled": {
"description": "Whether all incoming mail is automatically forwarded to another address.",
"type": "boolean"
}
},
"type": "object"
},
"BatchDeleteMessagesRequest": {
"id": "BatchDeleteMessagesRequest",
"properties": {
"ids": {
"description": "The IDs of the messages to delete.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"BatchModifyMessagesRequest": {
"id": "BatchModifyMessagesRequest",
"properties": {
"addLabelIds": {
"description": "A list of label IDs to add to messages.",
"items": {
"type": "string"
},
"type": "array"
},
"ids": {
"description": "The IDs of the messages to modify. There is a limit of 1000 ids per request.",
"items": {
"type": "string"
},
"type": "array"
},
"removeLabelIds": {
"description": "A list of label IDs to remove from messages.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"Delegate": {
"description": "Settings for a delegate. Delegates can read, send, and delete messages, as well as manage contacts, for the delegator's account. See \"Set up mail delegation\" for more information about delegates.",
"id": "Delegate",
"properties": {
"delegateEmail": {
"description": "The email address of the delegate.",
"type": "string"
},
"verificationStatus": {
"description": "Indicates whether this address has been verified and can act as a delegate for the account. Read-only.",
"enum": [
"accepted",
"expired",
"pending",
"rejected",
"verificationStatusUnspecified"
],
"enumDescriptions": [
"",
"",
"",
"",
""
],
"type": "string"
}
},
"type": "object"
},
"Draft": {
"description": "A draft email in the user's mailbox.",
"id": "Draft",
"properties": {
"id": {
"annotations": {
"required": [
"gmail.users.drafts.send"
]
},
"description": "The immutable ID of the draft.",
"type": "string"
},
"message": {
"$ref": "Message",
"description": "The message content of the draft."
}
},
"type": "object"
},
"Filter": {
"description": "Resource definition for Gmail filters. Filters apply to specific messages instead of an entire email thread.",
"id": "Filter",
"properties": {
"action": {
"$ref": "FilterAction",
"description": "Action that the filter performs."
},
"criteria": {
"$ref": "FilterCriteria",
"description": "Matching criteria for the filter."
},
"id": {
"description": "The server assigned ID of the filter.",
"type": "string"
}
},
"type": "object"
},
"FilterAction": {
"description": "A set of actions to perform on a message.",
"id": "FilterAction",
"properties": {
"addLabelIds": {
"description": "List of labels to add to the message.",
"items": {
"type": "string"
},
"type": "array"
},
"forward": {
"description": "Email address that the message should be forwarded to.",
"type": "string"
},
"removeLabelIds": {
"description": "List of labels to remove from the message.",
"items": {
"type": "string"
},
"type": "array"
}
},
"type": "object"
},
"FilterCriteria": {
"description": "Message matching criteria.",
"id": "FilterCriteria",
"properties": {
"excludeChats": {
"description": "Whether the response should exclude chats.",
"type": "boolean"
},
"from": {
"description": "The sender's display name or email address.",
"type": "string"
},
"hasAttachment": {
"description": "Whether the message has any attachment.",
"type": "boolean"
},
"negatedQuery": {
"description": "Only return messages not matching the specified query. Supports the same query format as the Gmail search box. For example, \"from:someuser@example.com rfc822msgid: is:unread\".",
"type": "string"
},
"query": {
"description": "Only return messages matching the specified query. Supports the same query format as the Gmail search box. For example, \"from:someuser@example.com rfc822msgid: is:unread\".",
"type": "string"
},
"size": {
"description": "The size of the entire RFC822 message in bytes, including all headers and attachments.",
"format": "int32",
"type": "integer"
},
"sizeComparison": {
"description": "How the message size in bytes should be in relation to the size field.",
"enum": [
"larger",
"smaller",
"unspecified"
],
"enumDescriptions": [
"",
"",
""
],
"type": "string"
},
"subject": {
"description": "Case-insensitive phra