The Google API surface
July 12, 2026 · View on GitHub
Every method Google publishes for the APIs this server targets, and whether we expose it — plus the APIs we do not target yet, so you can see what is on the table and ask for it. Descriptions are Google's own, quoted verbatim from the Discovery documents — the same specification the client is generated from. They are not paraphrased.
Missing something? Click Request on the method. It opens a pre-filled issue. Read API coverage first — it explains what makes a request persuasive.
60 of 233 methods exposed (26%) across the 7 APIs we target.
| API | MCP tool | Exposed | |
|---|---|---|---|
| calendar | manage_calendar | 7 / 38 | 18% |
| docs | manage_docs | 3 / 3 | 100% |
| drive | manage_drive | 14 / 64 | 22% |
| gmail | manage_email | 9 / 79 | 11% |
| meet | manage_meet | 10 / 18 | 56% |
| sheets | manage_sheets | 8 / 17 | 47% |
| tasks | manage_tasks | 9 / 14 | 64% |
Plus 89 methods across 4 APIs we do not expose yet — see Not targeted yet below.
| API | Methods | |
|---|---|---|
| chat | The Google Chat API lets you build Chat apps to integrate your services with Google Chat and manage Chat resources such as spaces, members, and messages | 50 |
| forms | Reads and writes Google Forms and responses | 10 |
| people | Provides access to information about profiles and contacts | 24 |
| slides | Reads and writes Google Slides presentations | 5 |
calendar
manage_calendar — 7 of 38 methods exposed. Google Discovery: calendar:v3.
| Method | Status | |
|---|---|---|
acl.deleteDELETE | Deletes an access control rule. | Request |
acl.getGET | Returns an access control rule. | Request |
acl.insertPOST | Creates an access control rule. | Request |
acl.listGET | Returns the rules in the access control list for the calendar. | Request |
acl.patchPATCH | Updates an access control rule. This method supports patch semantics. | Request |
acl.updatePUT | Updates an access control rule. | Request |
acl.watchPOST | Watch for changes to ACL resources. | Request |
calendarList.deleteDELETE | Removes a calendar from the user's calendar list. | Request |
calendarList.getGET | Returns a calendar from the user's calendar list. | Request |
calendarList.insertPOST | Inserts an existing calendar into the user's calendar list. | Request |
calendarList.listGET | Returns the calendars on the user's calendar list. | ✅ manage_calendar calendars |
calendarList.patchPATCH | Updates an existing calendar on the user's calendar list. This method supports patch semantics. | Request |
calendarList.updatePUT | Updates an existing calendar on the user's calendar list. | Request |
calendarList.watchPOST | Watch for changes to CalendarList resources. | Request |
calendars.clearPOST | Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account. | Request |
calendars.deleteDELETE | Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars. | Request |
calendars.getGET | Returns metadata for a calendar. | Request |
calendars.insertPOST | Creates a secondary calendar. The authenticated user for the request is made the data owner of the new calendar. Note: We recommend to authenticate as the intended data owner of the calendar. You can use domain-wide delegation of authority to allow applications to act on behalf of a specific user. Don't use a service account for authentication. If you use a service account for authentication, the service account is the data owner, which can lead to unexpected behavior. For example, if a service account is the data owner, data ownership cannot be transferred. | Request |
calendars.patchPATCH | Updates metadata for a calendar. This method supports patch semantics. | Request |
calendars.transferOwnershipPOST | Transfers a secondary calendar between users within a Google Workspace organization. Requires user authentication with Manage Calendars administrator privilege, and one of the following authorization scopes: - https://www.googleapis.com/auth/calendar - https://www.googleapis.com/auth/calendar.calendars In the request, set useAdminAccess to true. The secondary calendar must be active to be transferred. Transferring disabled or deleted calendars isn't supported. | Request |
calendars.updatePUT | Updates metadata for a calendar. | Request |
channels.stopPOST | Stop watching resources through this channel | Request |
colors.getGET | Returns the color definitions for calendars and events. | Request |
events.deleteDELETE | Deletes an event. | ✅ manage_calendar delete |
events.getGET | Returns an event based on its Google Calendar ID. To retrieve an event using its iCalendar ID, call the events.list method using the iCalUID parameter. | ✅ manage_calendar get |
events.importPOST | Imports an event. This operation is used to add a private copy of an existing event to a calendar. Only events with an eventType of default may be imported. Deprecated behavior: If a non-default event is imported, its type will be changed to default and any event-type-specific properties it may have will be dropped. | Request |
events.insertPOST | Creates an event. | Request |
events.instancesGET | Returns instances of the specified recurring event. | Request |
events.listGET | Returns events on the specified calendar. | ✅ manage_calendar list |
events.movePOST | Moves an event to another calendar, i.e. changes an event's organizer. Note that only default events can be moved; birthday, focusTime, fromGmail, outOfOffice and workingLocation events cannot be moved. | Request |
events.patchPATCH | Updates an event. This method supports patch semantics. | ✅ manage_calendar update |
events.quickAddPOST | Creates an event based on a simple text string. | ✅ manage_calendar quickAdd |
events.updatePUT | Updates an event. | Request |
events.watchPOST | Watch for changes to Events resources. | Request |
freebusy.queryPOST | Returns free/busy information for a set of calendars. | ✅ manage_calendar freebusy |
settings.getGET | Returns a single user setting. | Request |
settings.listGET | Returns all user settings for the authenticated user. | Request |
settings.watchPOST | Watch for changes to Settings resources. | Request |
docs
manage_docs — 3 of 3 methods exposed. Google Discovery: docs:v1.
| Method | Status | |
|---|---|---|
documents.batchUpdatePOST | Applies one or more updates to the document. Each request is validated before being applied. If any request is not valid, then the entire request will fail and nothing will be applied. Some requests have replies to give you some information about how they are applied. Other requests do not need to return information; these each return an empty reply. The order of replies matches that of the requests. For example, suppose you call batchUpdate with four updates, and only the third one returns information. The response would have two empty replies, the reply to the third request, and another empty reply, in that order. Because other users may be editing the document, the document might not exactly reflect your changes: your changes may be altered with respect to collaborator changes. If there are no collaborators, the document should reflect your changes. In any case, the updates in your request are guaranteed to be applied together atomically. | ✅ manage_docs write, insertText, replaceText |
documents.createPOST | Creates a blank document using the title given in the request. Other fields in the request, including any provided content, are ignored. Returns the created document. | ✅ manage_docs create |
documents.getGET | Gets the latest version of the specified document. | ✅ manage_docs get |
drive
manage_drive — 14 of 64 methods exposed. Google Discovery: drive:v3.
| Method | Status | |
|---|---|---|
about.getGET | Gets information about the user, the user's Drive, and system capabilities. For more information, see Return user info. Required: The fields parameter must be set. To return the exact fields you need, see Return specific fields. | Request |
accessproposals.getGET | Retrieves an access proposal by ID. For more information, see Manage pending access proposals. | Request |
accessproposals.listGET | List the access proposals on a file. For more information, see Manage pending access proposals. Note: Only approvers are able to list access proposals on a file. If the user isn't an approver, a 403 error is returned. | Request |
accessproposals.resolvePOST | Approves or denies an access proposal. For more information, see Manage pending access proposals. | Request |
approvals.approvePOST | Approves an approval. For more information, see Manage approvals. This is used to update the ReviewerResponse of the requesting user with a Response of APPROVED. If this is the last required reviewer response, this also completes the approval and sets the approval Status to APPROVED. | Request |
approvals.cancelPOST | Cancels an approval. For more information, see Manage approvals. Updates the approval Status to CANCELLED. This can be called by any user with the writer permission on the file while the approval Status is IN_PROGRESS. | Request |
approvals.commentPOST | Comments on an approval. For more information, see Manage approvals. This sends a notification to both the initiator and the reviewers. Additionally, a message is also added to the approval activity log. | Request |
approvals.declinePOST | Declines an approval. For more information, see Manage approvals. This is used to update the ReviewerResponse of the requesting user with a Response of DECLINED. This also completes the approval and sets the approval Status to DECLINED. | Request |
approvals.getGET | Gets an approval by ID. For more information, see Manage approvals. | Request |
approvals.listGET | Lists the approvals on a file. For more information, see Manage approvals. | Request |
approvals.reassignPOST | Reassigns the reviewers on an approval. For more information, see Manage approvals. Adds or replaces reviewers in the ReviewerResponse of the approval. This can be called by any user with the writer permission on the file while the approval Status is IN_PROGRESS and the Response for the reviewer being reassigned is NO_RESPONSE. A user with the reader permission can only reassign an approval that's assigned to themselves. Removing a reviewer isn't allowed. | Request |
approvals.startPOST | Starts an approval on a file. For more information, see Manage approvals. | Request |
apps.getGET | Gets a specific app. For more information, see Return user info. | Request |
apps.listGET | Lists a user's installed apps. For more information, see Return user info. | Request |
changes.getStartPageTokenGET | Gets the starting pageToken for listing future changes. For more information, see Retrieve changes. | Request |
changes.listGET | Lists the changes for a user or shared drive. For more information, see Retrieve changes. | Request |
changes.watchPOST | Subscribes to changes for a user. For more information, see Notifications for resource changes. | Request |
channels.stopPOST | Stops watching resources through this channel. For more information, see Notifications for resource changes. | Request |
comments.createPOST | Creates a comment on a file. For more information, see Manage comments and replies. Required: The fields parameter must be set. To return the exact fields you need, see Return specific fields. | ✅ manage_drive addComment |
comments.deleteDELETE | Deletes a comment. For more information, see Manage comments and replies. | Request |
comments.getGET | Gets a comment by ID. For more information, see Manage comments and replies. Required: The fields parameter must be set. To return the exact fields you need, see Return specific fields. | ✅ manage_drive getComment |
comments.listGET | Lists a file's comments. For more information, see Manage comments and replies. Required: The fields parameter must be set. To return the exact fields you need, see Return specific fields. | ✅ manage_drive listComments |
comments.updatePATCH | Updates a comment with patch semantics. For more information, see Manage comments and replies. Required: The fields parameter must be set. To return the exact fields you need, see Return specific fields. | ✅ manage_drive resolveComment |
drives.createPOST | Creates a shared drive. For more information, see Manage shared drives. | Request |
drives.deleteDELETE | Permanently deletes a shared drive for which the user is an organizer. The shared drive cannot contain any untrashed items. For more information, see Manage shared drives. | Request |
drives.getGET | Gets a shared drive's metadata by ID. For more information, see Manage shared drives. | Request |
drives.hidePOST | Hides a shared drive from the default view. For more information, see Manage shared drives. | Request |
drives.listGET | Lists the user's shared drives. This method accepts the q parameter, which is a search query combining one or more search terms. For more information, see the Search for shared drives guide. | Request |
drives.unhidePOST | Restores a shared drive to the default view. For more information, see Manage shared drives. | Request |
drives.updatePATCH | Updates the metadata for a shared drive. For more information, see Manage shared drives. | Request |
files.copyPOST | Creates a copy of a file and applies any requested updates with patch semantics. For more information, see Create and manage files. | ✅ manage_drive copy |
files.createPOST | Creates a file. For more information, see Create and manage files. This method supports an /upload URI and accepts uploaded media with the following characteristics: - Maximum file size: 5,120 GB - Accepted Media MIME types: */* (Specify a valid MIME type, rather than the literal */* value. The literal */* is only used to indicate that any valid MIME type can be uploaded. For more information, see Google Workspace and Google Drive supported MIME types.) For more information on uploading files, see Upload file data. Apps creating shortcuts with the create method must specify the MIME type application/vnd.google-apps.shortcut. Apps should specify a file extension in the name property when inserting files with the API. For example, an operation to insert a JPEG file should specify something like "name": "cat.jpg" in the metadata. Subsequent GET requests include the read-only fileExtension property populated with the extension originally specified in the name property. When a Google Drive user requests to download a file, or when the file is downloaded through the sync client, Drive builds a full filename (with extension) based on the name. In cases where the extension is missing, Drive attempts to determine the extension based on the file's MIME type. | Request |
files.deleteDELETE | Permanently deletes a file owned by the user without moving it to the trash. For more information, see Trash or delete files and folders. If the file belongs to a shared drive, the user must be an organizer on the parent folder. If the target is a folder, all descendants owned by the user are also deleted. | ✅ manage_drive delete |
files.downloadPOST | Downloads the content of a file. For more information, see Download and export files. Operations are valid for 24 hours from the time of creation. | Request |
files.emptyTrashDELETE | Permanently deletes all of the user's trashed files. For more information, see Trash or delete files and folders. | Request |
files.exportGET | Exports a Google Workspace document to the requested MIME type and returns exported byte content. For more information, see Download and export files. Note that the exported content is limited to 10 MB. | ✅ manage_drive export |
files.generateCseTokenGET | Generates a CSE token which can be used to create or update CSE files. | Request |
files.generateIdsGET | Generates a set of file IDs which can be provided in create or copy requests. For more information, see Create and manage files. | Request |
files.getGET | Gets a file's metadata or content by ID. For more information, see Search for files and folders. If you provide the URL parameter alt=media, then the response includes the file contents in the response body. Downloading content with alt=media only works if the file is stored in Drive. To download Google Docs, Sheets, and Slides use files.export instead. For more information, see Download and export files. | ✅ manage_drive get, viewImage, download |
files.listGET | Lists the user's files. For more information, see Search for files and folders. This method accepts the q parameter, which is a search query combining one or more search terms. This method returns all files by default, including trashed files. If you don't want trashed files to appear in the list, use the trashed=false query parameter to remove trashed files from the results. | ✅ manage_drive search |
files.listLabelsGET | Lists the labels on a file. For more information, see List labels on a file. | Request |
files.modifyLabelsPOST | Modifies the set of labels applied to a file. For more information, see Set a label field on a file. Returns a list of the labels that were added or modified. | Request |
files.updatePATCH | Updates a file's metadata, content, or both. When calling this method, only populate fields in the request that you want to modify. When updating fields, some fields might be changed automatically, such as modifiedDate. This method supports patch semantics. This method supports an /upload URI and accepts uploaded media with the following characteristics: - Maximum file size: 5,120 GB - Accepted Media MIME types: */* (Specify a valid MIME type, rather than the literal */* value. The literal */* is only used to indicate that any valid MIME type can be uploaded. For more information, see Google Workspace and Google Drive supported MIME types.) For more information on uploading files, see Upload file data. | ✅ manage_drive update |
files.watchPOST | Subscribes to changes to a file. For more information, see Notifications for resource changes. | Request |
operations.getGET | Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service. | Request |
permissions.createPOST | Creates a permission for a file or shared drive. For more information, see Share files, folders, and drives. Warning: Concurrent permissions operations on the same file aren't supported; only the last update is applied. | ✅ manage_drive share |
permissions.deleteDELETE | Deletes a permission. For more information, see Share files, folders, and drives. Warning: Concurrent permissions operations on the same file aren't supported; only the last update is applied. | ✅ manage_drive unshare |
permissions.getGET | Gets a permission by ID. For more information, see Share files, folders, and drives. | Request |
permissions.listGET | Lists a file's or shared drive's permissions. For more information, see Share files, folders, and drives. | ✅ manage_drive listPermissions |
permissions.updatePATCH | Updates a permission with patch semantics. For more information, see Share files, folders, and drives. Warning: Concurrent permissions operations on the same file aren't supported; only the last update is applied. | Request |
replies.createPOST | Creates a reply to a comment. For more information, see Manage comments and replies. | ✅ manage_drive replyToComment |
replies.deleteDELETE | Deletes a reply. For more information, see Manage comments and replies. | Request |
replies.getGET | Gets a reply by ID. For more information, see Manage comments and replies. | Request |
replies.listGET | Lists a comment's replies. For more information, see Manage comments and replies. | Request |
replies.updatePATCH | Updates a reply with patch semantics. For more information, see Manage comments and replies. | Request |
revisions.deleteDELETE | Permanently deletes a file version. You can only delete revisions for files with binary content in Google Drive, like images or videos. Revisions for other files, like Google Docs or Sheets, and the last remaining file version can't be deleted. For more information, see Manage file revisions. | Request |
revisions.getGET | Gets a revision's metadata or content by ID. For more information, see Manage file revisions. | Request |
revisions.listGET | Lists a file's revisions. For more information, see Manage file revisions. Important: The list of revisions returned by this method might be incomplete for files with a large revision history, including frequently edited Google Docs, Sheets, and Slides. Older revisions might be omitted from the response, meaning the first revision returned may not be the oldest existing revision. The revision history visible in the Workspace editor user interface might be more complete than the list returned by the API. | Request |
revisions.updatePATCH | Updates a revision with patch semantics. For more information, see Manage file revisions. | Request |
teamdrives.createPOST | Deprecated: Use drives.create instead. | Request |
teamdrives.deleteDELETE | Deprecated: Use drives.delete instead. | Request |
teamdrives.getGET | Deprecated: Use drives.get instead. | Request |
teamdrives.listGET | Deprecated: Use drives.list instead. | Request |
teamdrives.updatePATCH | Deprecated: Use drives.update instead. | Request |
gmail
manage_email — 9 of 79 methods exposed. Google Discovery: gmail:v1.
| Method | Status | |
|---|---|---|
users.drafts.createPOST | Creates a draft with the DRAFT label. For more information, see Create and send draft emails. | Request |
users.drafts.deleteDELETE | Immediately and permanently deletes the specified draft. Does not simply trash it. For more information, see Create and send draft emails. | Request |
users.drafts.getGET | Gets the specified draft. For more information, see Create and send draft emails. | Request |
users.drafts.listGET | Lists the drafts in the user's mailbox. For more information, see Create and send draft emails. | Request |
users.drafts.sendPOST | Sends the specified, existing draft to the recipients in the To, Cc, and Bcc headers. For more information, see Create and send draft emails. | Request |
users.drafts.updatePUT | Replaces a draft's content. For more information, see Create and send draft emails. | Request |
users.getProfileGET | Gets the current user's Gmail profile. | Request |
users.history.listGET | Lists the history of all changes to the given mailbox. History results are returned in chronological order (increasing historyId). For more information, see Synchronize clients with Gmail. | Request |
users.labels.createPOST | Creates a label. For more information, see Manage labels. | Request |
users.labels.deleteDELETE | Immediately and permanently deletes the specified label and removes it from any messages and threads that it's applied to. For more information, see Manage labels. | Request |
users.labels.getGET | Gets the specified label. For more information, see Manage labels. | Request |
users.labels.listGET | Lists all labels in the user's mailbox. For more information, see Manage labels. | ✅ manage_email labels |
users.labels.patchPATCH | Patch the specified label. For more information, see Manage labels. | Request |
users.labels.updatePUT | Updates the specified label. For more information, see Manage labels. | Request |
users.messages.attachments.getGET | Gets the specified message attachment. | ✅ manage_email getAttachment, viewAttachment |
users.messages.batchDeletePOST | Deletes many messages by message ID. Provides no guarantees that messages were not already deleted or even existed at all. | Request |
users.messages.batchModifyPOST | Modifies the labels and the Classification Label values on the specified messages. For administrators modifying messages for users in their organization, requests require authorization with a service account that has domain-wide delegation authority to impersonate users with the https://www.googleapis.com/auth/gmail.modify.restricted scope. | Request |
users.messages.deleteDELETE | Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer messages.trash instead. | Request |
users.messages.getGET | Gets the specified message. | ✅ manage_email read |
users.messages.importPOST | Imports a message into only this user's mailbox, with standard email delivery scanning and classification similar to receiving via SMTP. This method doesn't perform SPF checks, so it might not work for some spam messages, such as those attempting to perform domain spoofing. This method does not send a message. Note that the maximum size of the message is 150 MB. | Request |
users.messages.insertPOST | Directly inserts a message into only this user's mailbox similar to IMAP APPEND, bypassing most scanning and classification. Does not send a message. For more information, see Create and send email messages. | Request |
users.messages.listGET | Lists the messages in the user's mailbox. For more information, see List Gmail messages. | ✅ manage_email search, triage |
users.messages.modifyPOST | Modifies the labels and the Classification Label values on the specified message. For administrators modifying message for users in their organization, requests require authorization with a service account that has domain-wide delegation authority to impersonate users with the https://www.googleapis.com/auth/gmail.modify.restricted scope. | ✅ manage_email modify |
users.messages.sendPOST | Sends the specified message to the recipients in the To, Cc, and Bcc headers. For more information, see Create and send email messages. | Request |
users.messages.trashPOST | Moves the specified message to the trash. | ✅ manage_email trash |
users.messages.untrashPOST | Removes the specified message from the trash. | ✅ manage_email untrash |
users.settings.cse.identities.createPOST | Creates and configures a client-side encryption identity that's authorized to send mail from the user account. Google publishes the S/MIME certificate to a shared domain-wide directory so that people within a Google Workspace organization can encrypt and send mail to the identity. For administrators managing identities and keypairs for users in their organization, requests require authorization with a service account that has domain-wide delegation authority to impersonate users with the https://www.googleapis.com/auth/gmail.settings.basic scope. For users managing their own identities and keypairs, requests require hardware key encryption turned on and configured. | Request |
users.settings.cse.identities.deleteDELETE | Deletes a client-side encryption identity. The authenticated user can no longer use the identity to send encrypted messages. You cannot restore the identity after you delete it. Instead, use the CreateCseIdentity method to create another identity with the same configuration. For administrators managing identities and keypairs for users in their organization, requests require authorization with a service account that has domain-wide delegation authority to impersonate users with the https://www.googleapis.com/auth/gmail.settings.basic scope. For users managing their own identities and keypairs, requests require hardware key encryption turned on and configured. | Request |
users.settings.cse.identities.getGET | Retrieves a client-side encryption identity configuration. For administrators managing identities and keypairs for users in their organization, requests require authorization with a service account that has domain-wide delegation authority to impersonate users with the https://www.googleapis.com/auth/gmail.settings.basic scope. For users managing their own identities and keypairs, requests require hardware key encryption turned on and configured. | Request |
users.settings.cse.identities.listGET | Lists the client-side encrypted identities for an authenticated user. For administrators managing identities and keypairs for users in their organization, requests require authorization with a service account that has domain-wide delegation authority to impersonate users with the https://www.googleapis.com/auth/gmail.settings.basic scope. For users managing their own identities and keypairs, requests require hardware key encryption turned on and configured. | Request |
users.settings.cse.identities.patchPATCH | Associates a different key pair with an existing client-side encryption identity. The updated key pair must validate against Google's S/MIME certificate profiles. For administrators managing identities and keypairs for users in their organization, requests require authorization with a service account that has domain-wide delegation authority to impersonate users with the https://www.googleapis.com/auth/gmail.settings.basic scope. For users managing their own identities and keypairs, requests require hardware key encryption turned on and configured. | Request |
users.settings.cse.keypairs.createPOST | Creates and uploads a client-side encryption S/MIME public key certificate chain and private key metadata for the authenticated user. For administrators managing identities and keypairs for users in their organization, requests require authorization with a service account that has domain-wide delegation authority to impersonate users with the https://www.googleapis.com/auth/gmail.settings.basic scope. For users managing their own identities and keypairs, requests require hardware key encryption turned on and configured. | Request |
users.settings.cse.keypairs.disablePOST | Turns off a client-side encryption key pair. The authenticated user can no longer use the key pair to decrypt incoming CSE message texts or sign outgoing CSE mail. To regain access, use the EnableCseKeyPair to turn on the key pair. After 30 days, you can permanently delete the key pair by using the ObliterateCseKeyPair method. For administrators managing identities and keypairs for users in their organization, requests require authorization with a service account that has domain-wide delegation authority to impersonate users with the https://www.googleapis.com/auth/gmail.settings.basic scope. For users managing their own identities and keypairs, requests require hardware key encryption turned on and configured. | Request |
users.settings.cse.keypairs.enablePOST | Turns on a client-side encryption key pair that was turned off. The key pair becomes active again for any associated client-side encryption identities. For administrators managing identities and keypairs for users in their organization, requests require authorization with a service account that has domain-wide delegation authority to impersonate users with the https://www.googleapis.com/auth/gmail.settings.basic scope. For users managing their own identities and keypairs, requests require hardware key encryption turned on and configured. | Request |
users.settings.cse.keypairs.getGET | Retrieves an existing client-side encryption key pair. For administrators managing identities and keypairs for users in their organization, requests require authorization with a service account that has domain-wide delegation authority to impersonate users with the https://www.googleapis.com/auth/gmail.settings.basic scope. For users managing their own identities and keypairs, requests require hardware key encryption turned on and configured. | Request |
users.settings.cse.keypairs.listGET | Lists client-side encryption key pairs for an authenticated user. For administrators managing identities and keypairs for users in their organization, requests require authorization with a service account that has domain-wide delegation authority to impersonate users with the https://www.googleapis.com/auth/gmail.settings.basic scope. For users managing their own identities and keypairs, requests require hardware key encryption turned on and configured. | Request |
users.settings.cse.keypairs.obliteratePOST | Deletes a client-side encryption key pair permanently and immediately. You can only permanently delete key pairs that have been turned off for more than 30 days. To turn off a key pair, use the DisableCseKeyPair method. Gmail can't restore or decrypt any messages that were encrypted by an obliterated key. Authenticated users and Google Workspace administrators lose access to reading the encrypted messages. For administrators managing identities and keypairs for users in their organization, requests require authorization with a service account that has domain-wide delegation authority to impersonate users with the https://www.googleapis.com/auth/gmail.settings.basic scope. For users managing their own identities and keypairs, requests require hardware key encryption turned on and configured. | Request |
users.settings.delegates.createPOST | 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 Google Workspace organization as the delegator user. For more information, see Manage delegates. Gmail imposes limitations on the number of delegates and delegators each user in a Google Workspace 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. A delegate user must be referred to by their primary email address, and not an email alias. When a new delegate is created, there may be up to a one minute delay before the new delegate is available for use. This method is only available to service account clients that have been delegated domain-wide authority. | Request |
users.settings.delegates.deleteDELETE | Removes the specified delegate (which can be of any verification status), and revokes any verification that may have been required for using it. For more information, see Manage delegates. A delegate user must be referred to by their primary email address, and not an email alias. This method is only available to service account clients that have been delegated domain-wide authority. | Request |
users.settings.delegates.getGET | Gets the specified delegate. For more information, see Manage delegates. A delegate user must be referred to by their primary email address, and not an email alias. This method is only available to service account clients that have been delegated domain-wide authority. | Request |
users.settings.delegates.listGET | Lists the delegates for the specified account. For more information, see Manage delegates. This method is only available to service account clients that have been delegated domain-wide authority. | Request |
users.settings.filters.createPOST | Creates a filter. Note: you can only create a maximum of 1,000 filters. For more information, see Manage Gmail filters. | Request |
users.settings.filters.deleteDELETE | Immediately and permanently deletes the specified filter. For more information, see Manage Gmail filters. | Request |
users.settings.filters.getGET | Gets a filter. For more information, see Manage Gmail filters. | Request |
users.settings.filters.listGET | Lists the message filters of a Gmail user. For more information, see Manage Gmail filters. | Request |
users.settings.forwardingAddresses.createPOST | 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. For more information, see Manage email forwarding. This method is only available to service account clients that have been delegated domain-wide authority. | Request |
users.settings.forwardingAddresses.deleteDELETE | Deletes the specified forwarding address and revokes any verification that may have been required. For more information, see Manage email forwarding. This method is only available to service account clients that have been delegated domain-wide authority. | Request |
users.settings.forwardingAddresses.getGET | Gets the specified forwarding address. For more information, see Manage email forwarding. | Request |
users.settings.forwardingAddresses.listGET | Lists the forwarding addresses for the specified account. For more information, see Manage email forwarding. | Request |
users.settings.getAutoForwardingGET | Gets the auto-forwarding setting for the specified account. For more information, see Manage email forwarding. | Request |
users.settings.getImapGET | Gets IMAP settings. For more information, see Configure POP and IMAP settings with the Gmail API. | Request |
users.settings.getLanguageGET | Gets language settings. For more information, see Manage language settings. | Request |
users.settings.getPopGET | Gets POP settings. For more information, see Configure POP and IMAP settings with the Gmail API. | Request |
users.settings.getVacationGET | Gets vacation responder settings. For more information, see Manage vacation settings with the Gmail API. | Request |
users.settings.sendAs.createPOST | 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. For more information, see Manage aliases and signatures with the Gmail API. This method is only available to service account clients that have been delegated domain-wide authority. | Request |
users.settings.sendAs.deleteDELETE | Deletes the specified send-as alias. Revokes any verification that may have been required for using it. For more information, see Manage aliases and signatures with the Gmail API. This method is only available to service account clients that have been delegated domain-wide authority. | Request |
users.settings.sendAs.getGET | Gets the specified send-as alias. Fails with an HTTP 404 error if the specified address is not a member of the collection. For more information, see Manage aliases and signatures with the Gmail API. | Request |
users.settings.sendAs.listGET | 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. For more information, see Manage aliases and signatures with the Gmail API. | Request |
users.settings.sendAs.patchPATCH | Patch the specified send-as alias. For more information, see Manage aliases and signatures with the Gmail API. | Request |
users.settings.sendAs.smimeInfo.deleteDELETE | Deletes the specified S/MIME config for the specified send-as alias. For more information, see Manage S/MIME certificates with the Gmail API. | Request |
users.settings.sendAs.smimeInfo.getGET | Gets the specified S/MIME config for the specified send-as alias. For more information, see Manage S/MIME certificates with the Gmail API. | Request |
users.settings.sendAs.smimeInfo.insertPOST | Insert (upload) the given S/MIME config for the specified send-as alias. Note that pkcs12 format is required for the key. For more information, see Manage S/MIME certificates with the Gmail API. | Request |
users.settings.sendAs.smimeInfo.listGET | Lists S/MIME configs for the specified send-as alias. For more information, see Manage S/MIME certificates with the Gmail API. | Request |
users.settings.sendAs.smimeInfo.setDefaultPOST | Sets the default S/MIME config for the specified send-as alias. For more information, see Manage S/MIME certificates with the Gmail API. | Request |
users.settings.sendAs.updatePUT | Updates a send-as alias. If a signature is provided, Gmail will sanitize the HTML before saving it with the alias. For more information, see Manage aliases and signatures with the Gmail API. Addresses other than the primary address for the account can only be updated by service account clients that have been delegated domain-wide authority. | Request |
users.settings.sendAs.verifyPOST | Sends a verification email to the specified send-as alias address. The verification status must be pending. For more information, see Manage aliases and signatures with the Gmail API. This method is only available to service account clients that have been delegated domain-wide authority. | Request |
users.settings.updateAutoForwardingPUT | Updates the auto-forwarding setting for the specified account. A verified forwarding address must be specified when auto-forwarding is enabled. For more information, see Manage email forwarding. This method is only available to service account clients that have been delegated domain-wide authority. | Request |
users.settings.updateImapPUT | Updates IMAP settings. For more information, see Configure POP and IMAP settings with the Gmail API. | Request |
users.settings.updateLanguagePUT | Updates language settings. For more information, see Manage language settings. If successful, the return object contains the displayLanguage that was saved for the user, which may differ from the value passed into the request. This is because the requested displayLanguage may not be directly supported by Gmail but have a close variant that is, and so the variant may be chosen and saved instead. | Request |
users.settings.updatePopPUT | Updates POP settings. For more information, see Configure POP and IMAP settings with the Gmail API. | Request |
users.settings.updateVacationPUT | Updates vacation responder settings. For more information, see Manage vacation settings with the Gmail API. | Request |
users.stopPOST | Turn off push notification delivery for the given user mailbox. For more information, see Configure push notifications in Gmail API. | Request |
users.threads.deleteDELETE | Immediately and permanently deletes the specified thread. Any messages that belong to the thread are also deleted. This operation cannot be undone. Prefer threads.trash instead. For more information, see Manage threads. | Request |
users.threads.getGET | Gets the specified thread. For more information, see Manage threads. | ✅ manage_email getThread |
users.threads.listGET | Lists the threads in the user's mailbox. For more information, see Manage threads. | ✅ manage_email threads |
users.threads.modifyPOST | Modifies the labels applied to the thread. This applies to all messages in the thread. For more information, see Manage threads. | Request |
users.threads.trashPOST | Moves the specified thread to the trash. Any messages that belong to the thread are also moved to the trash. For more information, see Manage threads. | Request |
users.threads.untrashPOST | Removes the specified thread from the trash. Any messages that belong to the thread are also removed from the trash. For more information, see Manage threads. | Request |
users.watchPOST | Set up or update a push notification watch on the given user mailbox. For more information, see Configure push notifications in Gmail API. | Request |
meet
manage_meet — 10 of 18 methods exposed. Google Discovery: meet:v2.
| Method | Status | |
|---|---|---|
conferenceRecords.getGET | Gets a conference record by conference ID. | ✅ manage_meet getConference |
conferenceRecords.listGET | Lists the conference records. By default, ordered by start time and in descending order. | ✅ manage_meet listConferences |
conferenceRecords.participants.getGET | Gets a participant by participant ID. | Request |
conferenceRecords.participants.listGET | Lists the participants in a conference record. By default, ordered by join time and in descending order. This API supports fields as standard parameters like every other API. However, when the fields request parameter is omitted, this API defaults to 'participants/*, next_page_token'. | ✅ manage_meet listParticipants |
conferenceRecords.participants.participantSessions.getGET | Gets a participant session by participant session ID. | Request |
conferenceRecords.participants.participantSessions.listGET | Lists the participant sessions of a participant in a conference record. By default, ordered by join time and in descending order. This API supports fields as standard parameters like every other API. However, when the fields request parameter is omitted this API defaults to 'participantsessions/*, next_page_token'. | Request |
conferenceRecords.recordings.getGET | Gets a recording by recording ID. | ✅ manage_meet getRecording |
conferenceRecords.recordings.listGET | Lists the recording resources from the conference record. By default, ordered by start time and in ascending order. | ✅ manage_meet listRecordings |
conferenceRecords.smartNotes.getGET | Gets smart notes by smart note ID. | ✅ manage_meet getSmartNote |
conferenceRecords.smartNotes.listGET | Lists the set of smart notes from the conference record. By default, ordered by start time and in ascending order. | ✅ manage_meet listSmartNotes |
conferenceRecords.transcripts.entries.getGET | Gets a TranscriptEntry resource by entry ID. Note: The transcript entries returned by the Google Meet API might not match the transcription found in the Google Docs transcript file. This can occur when 1) we have interleaved speakers within milliseconds, or 2) the Google Docs transcript file is modified after generation. | Request%20we%20have%20interleaved%20speakers%20within%20milliseconds%2C%20or%202)%20the%20Google%20Docs%20transcript%20file%20is%20modified%20after%20generation.%0A%0A%23%23%23%20What%20do%20you%20want%20to%20do%20that%20you%20can't%20do%20today%3F%0A%0A_Describe%20the%20task%2C%20not%20the%20method.%20What%20are%20you%20trying%20to%20get%20the%20agent%20to%20accomplish%3F_%0A%0A%23%23%23%20Why%20does%20an%20existing%20operation%20not%20cover%20it%3F%0A%0A_The%20server%20exposes%20a%20curated%20subset%20on%20purpose%20%E2%80%94%20more%20surface%20is%20not%20better.%20What%20did%20you%20try%2C%20and%20where%20did%20it%20fall%20short%3F_%0A&labels=enhancement) |
conferenceRecords.transcripts.entries.listGET | Lists the structured transcript entries per transcript. By default, ordered by start time and in ascending order. Note: The transcript entries returned by the Google Meet API might not match the transcription found in the Google Docs transcript file. This can occur when 1) we have interleaved speakers within milliseconds, or 2) the Google Docs transcript file is modified after generation. | ✅ manage_meet listTranscriptEntries |
conferenceRecords.transcripts.getGET | Gets a transcript by transcript ID. | ✅ manage_meet getTranscript |
conferenceRecords.transcripts.listGET | Lists the set of transcripts from the conference record. By default, ordered by start time and in ascending order. | ✅ manage_meet listTranscripts, getFullTranscript |
spaces.createPOST | Creates a space. | Request |
spaces.endActiveConferencePOST | Ends an active conference (if there's one). For an example, see End active conference. | Request |
spaces.getGET | Gets details about a meeting space. For an example, see Get a meeting space. | Request |
spaces.patchPATCH | Updates details about a meeting space. For an example, see Update a meeting space. | Request |
sheets
manage_sheets — 8 of 17 methods exposed. Google Discovery: sheets:v4.
| Method | Status | |
|---|---|---|
spreadsheets.batchUpdatePOST | Applies one or more updates to the spreadsheet. Each request is validated before being applied. If any request is not valid then the entire request will fail and nothing will be applied. Some requests have replies to give you some information about how they are applied. The replies will mirror the requests. For example, if you applied 4 updates and the 3rd one had a reply, then the response will have 2 empty replies, the actual reply, and another empty reply, in that order. Due to the collaborative nature of spreadsheets, it is not guaranteed that the spreadsheet will reflect exactly your changes after this completes, however it is guaranteed that the updates in the request will be applied together atomically. Your changes may be altered with respect to collaborator changes. If there are no collaborators, the spreadsheet should reflect your changes. | ✅ manage_sheets addSheet, renameSheet, deleteSheet, duplicateSheet, renameSpreadsheet |
spreadsheets.createPOST | Creates a spreadsheet, returning the newly created spreadsheet. | ✅ manage_sheets create |
spreadsheets.developerMetadata.getGET | Returns the developer metadata with the specified ID. The caller must specify the spreadsheet ID and the developer metadata's unique metadataId. For more information, see Read, write, and search metadata. | Request |
spreadsheets.developerMetadata.searchPOST | Returns all developer metadata matching the specified DataFilter. For more information, see Read, write, and search metadata. If the provided DataFilter represents a DeveloperMetadataLookup object, this will return all DeveloperMetadata entries selected by it. If the DataFilter represents a location in a spreadsheet, this will return all developer metadata associated with locations intersecting that region. | Request |
spreadsheets.getGET | Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. By default, data within grids is not returned. You can include grid data in one of 2 ways: * Specify a field mask listing your desired fields using the fields URL parameter in HTTP * Set the includeGridData URL parameter to true. If a field mask is set, the includeGridData parameter is ignored For large spreadsheets, as a best practice, retrieve only the specific spreadsheet fields that you want. To retrieve only subsets of spreadsheet data, use the ranges URL parameter. Ranges are specified using A1 notation. You can define a single cell (for example, A1) or multiple cells (for example, A1:D5). You can also get cells from other sheets within the same spreadsheet (for example, Sheet2!A1:C4) or retrieve multiple ranges at once (for example, ?ranges=A1:D5&ranges=Sheet2!A1:C4). Limiting the range returns only the portions of the spreadsheet that intersect the requested ranges. | ✅ manage_sheets get |
spreadsheets.getByDataFilterPOST | Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. For more information, see Read, write, and search metadata. This method differs from GetSpreadsheet in that it allows selecting which subsets of spreadsheet data to return by specifying a dataFilters parameter. Multiple DataFilters can be specified. Specifying one or more data filters returns the portions of the spreadsheet that intersect ranges matched by any of the filters. By default, data within grids is not returned. You can include grid data in one of two ways: * Specify a field mask listing your desired fields using the fields URL parameter in HTTP. * Set the includeGridData parameter to true. If a field mask is set, the includeGridData parameter is ignored. For large spreadsheets, as a best practice, retrieve only the specific spreadsheet fields that you want. | Request |
spreadsheets.sheets.copyToPOST | Copies a single sheet from a spreadsheet to another spreadsheet. Returns the properties of the newly created sheet. | ✅ manage_sheets copySheetTo |
spreadsheets.values.appendPOST | Appends values to a spreadsheet. The input range is used to search for existing data and find a "table" within that range. Values will be appended to the next row of the table, starting with the first column of the table. See the guide and sample code for specific details of how tables are detected and data is appended. The caller must specify the spreadsheet ID, range, and a valueInputOption. The valueInputOption only controls how the input data will be added to the sheet (column-wise or row-wise), it does not influence what cell the data starts being written to. | ✅ manage_sheets append |
spreadsheets.values.batchClearPOST | Clears one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges. Only values are cleared -- all other properties of the cell (such as formatting and data validation) are kept. | Request |
spreadsheets.values.batchClearByDataFilterPOST | Clears one or more ranges of values from a spreadsheet. For more information, see Read, write, and search metadata. The caller must specify the spreadsheet ID and one or more DataFilters. Ranges matching any of the specified data filters will be cleared. Only values are cleared -- all other properties of the cell (such as formatting, data validation, etc.) are kept. | Request |
spreadsheets.values.batchGetGET | Returns one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges. | Request |
spreadsheets.values.batchGetByDataFilterPOST | Returns one or more ranges of values that match the specified data filters. For more information, see Read, write, and search metadata. The caller must specify the spreadsheet ID and one or more DataFilters. Ranges that match any of the data filters in the request will be returned. | Request |
spreadsheets.values.batchUpdatePOST | Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more ValueRanges. | Request |
spreadsheets.values.batchUpdateByDataFilterPOST | Sets values in one or more ranges of a spreadsheet. For more information, see Read, write, and search metadata. The caller must specify the spreadsheet ID, a valueInputOption, and one or more DataFilterValueRanges. | Request |
spreadsheets.values.clearPOST | Clears values from a spreadsheet. The caller must specify the spreadsheet ID and range. Only values are cleared -- all other properties of the cell (such as formatting, data validation, etc..) are kept. | ✅ manage_sheets clearValues |
spreadsheets.values.getGET | Returns a range of values from a spreadsheet. The caller must specify the spreadsheet ID and a range. | ✅ manage_sheets read, getValues |
spreadsheets.values.updatePUT | Sets values in a range of a spreadsheet. The caller must specify the spreadsheet ID, range, and a valueInputOption. | ✅ manage_sheets updateValues |
tasks
manage_tasks — 9 of 14 methods exposed. Google Discovery: tasks:v1.
| Method | Status | |
|---|---|---|
tasklists.deleteDELETE | Deletes the authenticated user's specified task list. If the list contains assigned tasks, both the assigned tasks and the original tasks in the assignment surface (Docs, Chat Spaces) are deleted. | ✅ manage_tasks deleteTaskList |
tasklists.getGET | Returns the authenticated user's specified task list. | ✅ manage_tasks getTaskList |
tasklists.insertPOST | Creates a new task list and adds it to the authenticated user's task lists. A user can have up to 2000 lists at a time. | ✅ manage_tasks createTaskList |
tasklists.listGET | Returns all the authenticated user's task lists. A user can have up to 2000 lists at a time. | ✅ manage_tasks listTaskLists |
tasklists.patchPATCH | Updates the authenticated user's specified task list. This method supports patch semantics. | Request |
tasklists.updatePUT | Updates the authenticated user's specified task list. | Request |
tasks.clearPOST | Clears all completed tasks from the specified task list. The affected tasks will be marked as 'hidden' and no longer be returned by default when retrieving all tasks for a task list. | Request |
tasks.deleteDELETE | Deletes the specified task from the task list. If the task is assigned, both the assigned task and the original task (in Docs, Chat Spaces) are deleted. To delete the assigned task only, navigate to the assignment surface and unassign the task from there. | ✅ manage_tasks delete |
tasks.getGET | Returns the specified task. | ✅ manage_tasks get |
tasks.insertPOST | Creates a new task on the specified task list. Tasks assigned from Docs or Chat Spaces cannot be inserted from Tasks Public API; they can only be created by assigning them from Docs or Chat Spaces. A user can have up to 20,000 non-hidden tasks per list and up to 100,000 tasks in total at a time. | ✅ manage_tasks create |
tasks.listGET | Returns all tasks in the specified task list. Doesn't return assigned tasks by default (from Docs, Chat Spaces). A user can have up to 20,000 non-hidden tasks per list and up to 100,000 tasks in total at a time. | ✅ manage_tasks list |
tasks.movePOST | Moves the specified task to another position in the destination task list. If the destination list is not specified, the task is moved within its current list. This can include putting it as a child task under a new parent and/or move it to a different position among its sibling tasks. A user can have up to 2,000 subtasks per task. | Request |
tasks.patchPATCH | Updates the specified task. This method supports patch semantics. | ✅ manage_tasks update, complete |
tasks.updatePUT | Updates the specified task. | Request |
Not targeted yet
Google publishes these too, and this server does not touch them. They are listed here because not targeted is a decision, not a fact of nature — and it was made without you.
Nothing here is wired up, so every method carries a Request link. A request that names a task the tool cannot do today is what moves one of these from this section into the one above.
Some are cheap and some are not, and the difference is worth knowing before you ask:
- contacts (People API) — straightforward. Ordinary OAuth scopes (
contacts,contacts.readonly), works on a personal Google account, and "who is this person and how do I reach them" is a question agents ask constantly. - slides, forms — small, self-contained surfaces. Slides is 5 methods; Forms is 10.
- chat (Google Chat API) — the biggest surface here and the least certain. Much of it is built for Chat apps (bots), not for acting as yourself: the scope lists are dominated by
chat.bot,chat.app.*andchat.admin.*. User-credential access is a narrower path and, in places, Workspace-only — so a personal@gmail.comaccount may not be able to call it at all. That question would need answering with a real request before any of it is promised.
chat
Not exposed — 50 methods. Google Discovery: chat:v1.
| Method | ||
|---|---|---|
customEmojis.createPOST | Creates a custom emoji. Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions. Requires user authentication with the authorization scope: - https://www.googleapis.com/auth/chat.customemojis | Request |
customEmojis.deleteDELETE | Deletes a custom emoji. By default, users can only delete custom emoji they created. Emoji managers assigned by the administrator can delete any custom emoji in the organization. See Learn about custom emojis in Google Chat. Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions. Requires user authentication with the authorization scope: - https://www.googleapis.com/auth/chat.customemojis | Request |
customEmojis.getGET | Returns details about a custom emoji. Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions. Requires user authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.customemojis.readonly - https://www.googleapis.com/auth/chat.customemojis | Request |
customEmojis.listGET | Lists custom emojis visible to the authenticated user. Custom emojis are only available for Google Workspace accounts, and the administrator must turn custom emojis on for the organization. For more information, see Learn about custom emojis in Google Chat and Manage custom emoji permissions. Requires user authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.customemojis.readonly - https://www.googleapis.com/auth/chat.customemojis | Request |
media.downloadGET | Downloads media. Download is supported on the URI /v1/media/{+name}?alt=media. | Request |
media.uploadPOST | Uploads an attachment. For an example, see Upload media as a file attachment. Requires user authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.messages.create - https://www.googleapis.com/auth/chat.messages - https://www.googleapis.com/auth/chat.import (import mode spaces only) You can upload attachments up to 200 MB. Certain file types aren't supported. For details, see File types blocked by Google Chat. | Request |
spaces.completeImportPOST | Completes the import process for the specified space and makes it visible to users. Requires user authentication and domain-wide delegation with the authorization scope: - https://www.googleapis.com/auth/chat.import For more information, see Authorize Google Chat apps to import data. | Request |
spaces.createPOST | Creates a space. Can be used to create a named space, or a group chat in Import mode. For an example, see Create a space. Supports the following types of authentication: - App authentication with administrator approval and one of the following authorization scopes: - https://www.googleapis.com/auth/chat.app.spaces.create - https://www.googleapis.com/auth/chat.app.spaces - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.spaces.create - https://www.googleapis.com/auth/chat.spaces - https://www.googleapis.com/auth/chat.import (import mode spaces only) When authenticating as an app, the space.customer field must be set in the request. When authenticating as an app, the Chat app is added as a member of the space. However, unlike human authentication, the Chat app is not added as a space manager. By default, the Chat app can be removed from the space by all space members. To allow only space managers to remove the app from a space, set space.permission_settings.manage_apps to managers_allowed. Space membership upon creation depends on whether the space is created in Import mode: * Import mode: No members are created. * All other modes: The calling user is added as a member. This is: * The app itself when using app authentication. * The human user when using user authentication. If you receive the error message ALREADY_EXISTS when creating a space, try a different displayName. An existing space within the Google Workspace organization might already use this display name. | Request |
spaces.deleteDELETE | Deletes a named space. Always performs a cascading delete, which means that the space's child resources—like messages posted in the space and memberships in the space—are also deleted. For an example, see Delete a space. Supports the following types of authentication: - App authentication with administrator approval and the authorization scope: - https://www.googleapis.com/auth/chat.app.delete (only in spaces the app created) - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.delete - https://www.googleapis.com/auth/chat.import (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and the following authorization scope is used: - https://www.googleapis.com/auth/chat.admin.delete | Request |
spaces.findDirectMessageGET | Returns the existing direct message with the specified user. If no direct message space is found, returns a 404 NOT_FOUND error. For an example, see Find a direct message. With app authentication, returns the direct message space between the specified user and the calling Chat app. With user authentication, returns the direct message space between the specified user and the authenticated user. Supports the following types of authentication: - App authentication with the authorization scope: - https://www.googleapis.com/auth/chat.bot - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.spaces.readonly - https://www.googleapis.com/auth/chat.spaces | Request |
spaces.findGroupChatsGET | Returns all spaces with spaceType == GROUP_CHAT, whose human memberships contain exactly the calling user, and the users specified in FindGroupChatsRequest.users. Only members that have joined the conversation are supported. For an example, see Find group chats. If the calling user blocks, or is blocked by, some users, and no spaces with the entire specified set of users are found, this method returns spaces that don't include the blocked or blocking users. The specified set of users must contain only human (non-app) memberships. A request that contains non-human users doesn't return any spaces. Requires user authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.memberships.readonly - https://www.googleapis.com/auth/chat.memberships | Request |
spaces.getGET | Returns details about a space. For an example, see Get details about a space. Supports the following types of authentication: - App authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.bot - https://www.googleapis.com/auth/chat.app.spaces with administrator approval - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.spaces.readonly - https://www.googleapis.com/auth/chat.spaces - User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and one of the following authorization scopes is used: - https://www.googleapis.com/auth/chat.admin.spaces.readonly - https://www.googleapis.com/auth/chat.admin.spaces App authentication has the following limitations: - space.access_settings is only populated when using the chat.app.spaces scope. - space.predefind_permission_settings and space.permission_settings are only populated when using the chat.app.spaces scope, and only for spaces the app created. | Request |
spaces.listGET | Lists spaces the caller is a member of. Group chats and DMs aren't listed until the first message is sent. For an example, see List spaces. Supports the following types of authentication: - App authentication with the authorization scope: - https://www.googleapis.com/auth/chat.bot - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.spaces.readonly - https://www.googleapis.com/auth/chat.spaces To list all named spaces by Google Workspace organization, use the spaces.search() method using Workspace administrator privileges instead. | Request |
spaces.members.createPOST | Creates a membership for the calling Chat app, a user, or a Google Group. Creating memberships for other Chat apps isn't supported. When creating a membership, if the specified member has their auto-accept policy turned off, then they're invited, and must accept the space invitation before joining. Otherwise, creating a membership adds the member directly to the specified space. Supports the following types of authentication: - App authentication with administrator approval and the authorization scope: - https://www.googleapis.com/auth/chat.app.memberships - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.memberships - https://www.googleapis.com/auth/chat.memberships.app (to add the calling app to the space) - https://www.googleapis.com/auth/chat.import (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and the following authorization scope is used: - https://www.googleapis.com/auth/chat.admin.memberships App authentication is not supported for the following use cases: - Inviting users external to the Workspace organization that owns the space. - Adding a Google Group to a space. - Adding a Chat app to a space. For example usage, see: - Invite or add a user to a space. - Invite or add a Google Group to a space. - Add the Chat app to a space. | Request |
spaces.members.deleteDELETE | Deletes a membership. For an example, see Remove a user or a Google Chat app from a space. Supports the following types of authentication: - App authentication with administrator approval and the authorization scope: - https://www.googleapis.com/auth/chat.app.memberships - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.memberships - https://www.googleapis.com/auth/chat.memberships.app (to remove the calling app from the space) - https://www.googleapis.com/auth/chat.import (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and the following authorization scope is used: - https://www.googleapis.com/auth/chat.admin.memberships App authentication is not supported for the following use cases: - Removing a Google Group from a space. - Removing a Chat app from a space. To delete memberships for space managers, the requester must be a space manager. If you're using app authentication the Chat app must be the space creator. | Request |
spaces.members.getGET | Returns details about a membership. For an example, see Get details about a user's or Google Chat app's membership. Supports the following types of authentication: - App authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.bot - https://www.googleapis.com/auth/chat.app.memberships (requires administrator approval) - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.memberships.readonly - https://www.googleapis.com/auth/chat.memberships - User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and one of the following authorization scopes is used: - https://www.googleapis.com/auth/chat.admin.memberships.readonly - https://www.googleapis.com/auth/chat.admin.memberships | Request |
spaces.members.listGET | Lists memberships in a space. For an example, see List users and Google Chat apps in a space. Listing memberships with app authentication lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with User authentication lists memberships in spaces that the authenticated user has access to. Supports the following types of authentication: - App authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.bot - https://www.googleapis.com/auth/chat.app.memberships (requires administrator approval) - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.memberships.readonly - https://www.googleapis.com/auth/chat.memberships - https://www.googleapis.com/auth/chat.import (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and one of the following authorization scopes is used: - https://www.googleapis.com/auth/chat.admin.memberships.readonly - https://www.googleapis.com/auth/chat.admin.memberships | Request |
spaces.members.patchPATCH | Updates a membership. For an example, see Update a user's membership in a space. Supports the following types of authentication: - App authentication with administrator approval and the authorization scope: - https://www.googleapis.com/auth/chat.app.memberships (only in spaces the app created) - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.memberships - https://www.googleapis.com/auth/chat.import (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and the following authorization scope is used: - https://www.googleapis.com/auth/chat.admin.memberships | Request |
spaces.messages.attachments.getGET | Gets the metadata of a message attachment. The attachment data is fetched using the media API. For an example, see Get metadata about a message attachment. Requires app authentication with the authorization scope: - https://www.googleapis.com/auth/chat.bot | Request |
spaces.messages.createPOST | Creates a message in a Google Chat space. For an example, see Send a message. Supports the following types of authentication: - App authentication with the authorization scope: - https://www.googleapis.com/auth/chat.bot - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.messages.create - https://www.googleapis.com/auth/chat.messages - https://www.googleapis.com/auth/chat.import (import mode spaces only) Chat attributes the message sender differently depending on the type of authentication that you use in your request. The following image shows how Chat attributes a message when you use app authentication. Chat displays the Chat app as the message sender. The content of the message can contain text (text), cards (cardsV2), and accessory widgets (accessoryWidgets). !Message sent with app authentication The following image shows how Chat attributes a message when you use user authentication. Chat displays the user as the message sender and attributes the Chat app to the message by displaying its name. The content of message can only contain text (text). !Message sent with user authentication The maximum message size, including the message contents, is 32,000 bytes. For webhook requests, the response doesn't contain the full message. The response only populates the name and thread.name fields in addition to the information that was in the request. | Request |
spaces.messages.deleteDELETE | Deletes a message. For an example, see Delete a message. Supports the following types of authentication: - App authentication with the authorization scope: - https://www.googleapis.com/auth/chat.bot - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.messages - https://www.googleapis.com/auth/chat.import (import mode spaces only) When using app authentication, requests can only delete messages created by the calling Chat app. | Request |
spaces.messages.getGET | Returns details about a message. For an example, see Get details about a message. Supports the following types of authentication: - App authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.bot: When using this authorization scope, this method returns details about a message the Chat app has access to, like direct messages and slash commands that invoke the Chat app. - https://www.googleapis.com/auth/chat.app.messages.readonly with administrator approval. When using this authentication scope, this method returns details about a public message in a space. - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.messages.readonly - https://www.googleapis.com/auth/chat.messages Note: Might return a message from a blocked member or space. | Request |
spaces.messages.listGET | Lists messages in a space that the caller is a member of, including messages from blocked members and spaces. System messages, like those announcing new space members, aren't included. If you list messages from a space with no messages, the response is an empty object. When using a REST/HTTP interface, the response contains an empty JSON object, {}. For an example, see List messages. Supports the following types of authentication: - App authentication with administrator approval with the authorization scope: - https://www.googleapis.com/auth/chat.app.messages.readonly. When using this authentication scope, this method only returns public messages in a space. It doesn't include private messages. - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.messages.readonly - https://www.googleapis.com/auth/chat.messages - https://www.googleapis.com/auth/chat.import (import mode spaces only) | Request |
spaces.messages.patchPATCH | Updates a message. There's a difference between the patch and update methods. The patch method uses a patch request while the update method uses a put request. We recommend using the patch method. For an example, see Update a message. Supports the following types of authentication: - App authentication with the authorization scope: - https://www.googleapis.com/auth/chat.bot - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.messages - https://www.googleapis.com/auth/chat.import (import mode spaces only) When using app authentication, requests can only update messages created by the calling Chat app. | Request |
spaces.messages.reactions.createPOST | Creates a reaction and adds it to a message. For an example, see Add a reaction to a message. Requires user authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.messages.reactions.create - https://www.googleapis.com/auth/chat.messages.reactions - https://www.googleapis.com/auth/chat.messages - https://www.googleapis.com/auth/chat.import (import mode spaces only) | Request |
spaces.messages.reactions.deleteDELETE | Deletes a reaction to a message. For an example, see Delete a reaction. Requires user authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.messages.reactions - https://www.googleapis.com/auth/chat.messages - https://www.googleapis.com/auth/chat.import (import mode spaces only) | Request |
spaces.messages.reactions.listGET | Lists reactions to a message. For an example, see List reactions for a message. Requires user authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.messages.reactions.readonly - https://www.googleapis.com/auth/chat.messages.reactions - https://www.googleapis.com/auth/chat.messages.readonly - https://www.googleapis.com/auth/chat.messages | Request |
spaces.messages.updatePUT | Updates a message. There's a difference between the patch and update methods. The patch method uses a patch request while the update method uses a put request. We recommend using the patch method. For an example, see Update a message. Supports the following types of authentication: - App authentication with the authorization scope: - https://www.googleapis.com/auth/chat.bot - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.messages - https://www.googleapis.com/auth/chat.import (import mode spaces only) When using app authentication, requests can only update messages created by the calling Chat app. | Request |
spaces.patchPATCH | Updates a space. For an example, see Update a space. If you're updating the displayName field and receive the error message ALREADY_EXISTS, try a different display name.. An existing space within the Google Workspace organization might already use this display name. Supports the following types of authentication: - App authentication with administrator approval and one of the following authorization scopes: - https://www.googleapis.com/auth/chat.app.spaces - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.spaces - https://www.googleapis.com/auth/chat.import (import mode spaces only) - User authentication grants administrator privileges when an administrator account authenticates, use_admin_access is true, and the following authorization scopes is used: - https://www.googleapis.com/auth/chat.admin.spaces App authentication has the following limitations: - To update either space.predefined_permission_settings or space.permission_settings, the app must be the space creator. - Updating the space.access_settings.audience is not supported for app authentication. | Request |
spaces.searchGET | Returns a list of spaces in a Google Workspace organization. For an example, see Search for and manage spaces. When use_admin_access is set to false, the results are limited to spaces where the calling user is a joined member. To search with administrator privileges, set use_admin_access to true. Setting use_admin_access to false is available under Developer Preview. Supports the following types of authentication: - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.spaces.readonly - https://www.googleapis.com/auth/chat.spaces - User authentication with administrator privileges and one of the following authorization scopes: - https://www.googleapis.com/auth/chat.admin.spaces.readonly - https://www.googleapis.com/auth/chat.admin.spaces | Request |
spaces.setupPOST | Creates a space and adds specified users to it. The calling user is automatically added to the space, and shouldn't be specified as a membership in the request. For an example, see Set up a space with initial members. To specify the human members to add, add memberships with the appropriate membership.member.name. To add a human user, use users/{user}, where {user} can be the email address for the user. For users in the same Workspace organization {user} can also be the id for the person from the People API, or the id for the user in the Directory API. For example, if the People API Person profile ID for user@example.com is 123456789, you can add the user to the space by setting the membership.member.name to users/user@example.com or users/123456789. To specify the Google groups to add, add memberships with the appropriate membership.group_member.name. To add or invite a Google group, use groups/{group}, where {group} is the id for the group from the Cloud Identity Groups API. For example, you can use Cloud Identity Groups lookup API to retrieve the ID 123456789 for group email group@example.com, then you can add the group to the space by setting the membership.group_member.name to groups/123456789. Group email is not supported, and Google groups can only be added as members in named spaces. For a named space or group chat, if the caller blocks, or is blocked by some members, or doesn't have permission to add some members, then those members aren't added to the created space. To create a direct message (DM) between the calling user and another human user, specify exactly one membership to represent the human user. If one user blocks the other, the request fails and the DM isn't created. To create a DM between the calling user and the calling app, set Space.singleUserBotDm to true and don't specify any memberships. You can only use this method to set up a DM with the calling app. To add the calling app as a member of a space or an existing DM between two human users, see Invite or add a user or app to a space. If a DM already exists between two users, even when one user blocks the other at the time a request is made, then the existing DM is returned. Spaces with threaded replies aren't supported. If you receive the error message ALREADY_EXISTS when setting up a space, try a different displayName. An existing space within the Google Workspace organization might already use this display name. Requires user authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.spaces.create - https://www.googleapis.com/auth/chat.spaces | Request |
spaces.spaceEvents.getGET | Returns an event from a Google Chat space. The event payload contains the most recent version of the resource that changed. For example, if you request an event about a new message but the message was later updated, the server returns the updated Message resource in the event payload. Note: The permissionSettings field is not returned in the Space object of the Space event data for this request. Supports the following types of authentication with an authorization scope appropriate for reading the requested data: - App authentication with administrator approval with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.app.spaces - https://www.googleapis.com/auth/chat.app.spaces.readonly - https://www.googleapis.com/auth/chat.app.messages.readonly - https://www.googleapis.com/auth/chat.app.memberships - https://www.googleapis.com/auth/chat.app.memberships.readonly - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.spaces.readonly - https://www.googleapis.com/auth/chat.spaces - https://www.googleapis.com/auth/chat.messages.readonly - https://www.googleapis.com/auth/chat.messages - https://www.googleapis.com/auth/chat.messages.reactions.readonly - https://www.googleapis.com/auth/chat.messages.reactions - https://www.googleapis.com/auth/chat.memberships.readonly - https://www.googleapis.com/auth/chat.memberships To get an event, the authenticated caller must be a member of the space. For an example, see Get details about an event from a Google Chat space. | Request |
spaces.spaceEvents.listGET | Lists events from a Google Chat space. For each event, the payload contains the most recent version of the Chat resource. For example, if you list events about new space members, the server returns Membership resources that contain the latest membership details. If new members were removed during the requested period, the event payload contains an empty Membership resource. Supports the following types of authentication with an authorization scope appropriate for reading the requested data: - App authentication with administrator approval with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.app.spaces - https://www.googleapis.com/auth/chat.app.spaces.readonly - https://www.googleapis.com/auth/chat.app.messages.readonly - https://www.googleapis.com/auth/chat.app.memberships - https://www.googleapis.com/auth/chat.app.memberships.readonly - User authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.spaces.readonly - https://www.googleapis.com/auth/chat.spaces - https://www.googleapis.com/auth/chat.messages.readonly - https://www.googleapis.com/auth/chat.messages - https://www.googleapis.com/auth/chat.messages.reactions.readonly - https://www.googleapis.com/auth/chat.messages.reactions - https://www.googleapis.com/auth/chat.memberships.readonly - https://www.googleapis.com/auth/chat.memberships To list events, the authenticated caller must be a member of the space. For an example, see List events from a Google Chat space. | Request |
users.availability.getGET | Returns availability information for a human user in Google Chat. For example, this can be used to check if a user is online or away, or to retrieve their custom status message. This method only retrieves the authenticated user's availability. Requires user authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.users.availability.readonly - https://www.googleapis.com/auth/chat.users.availability | Request |
users.availability.markAsActivePOST | Marks user as ACTIVE in Google Chat. Sets the user's availability state to ACTIVE. The ACTIVE state lasts until the specified expiration, at which point the user's state becomes AWAY. Note that if the user is actively using Chat, the ACTIVE state duration may extend beyond the provided expiration. This method only updates the authenticated user's availability. Requires user authentication with authorization scope: - https://www.googleapis.com/auth/chat.users.availability | Request |
users.availability.markAsAwayPOST | Marks user as AWAY in Google Chat. Sets the user's state to away and is not affected by the user's activity. This method only updates the authenticated user's availability. Requires user authentication with authorization scope: - https://www.googleapis.com/auth/chat.users.availability | Request |
users.availability.markAsDoNotDisturbPOST | Marks user as DO_NOT_DISTURB in Google Chat. Sets a user's availability state to DO_NOT_DISTURB until a specified expiration time. When in DO_NOT_DISTURB, users typically won't receive notifications. This method only updates the authenticated user's availability. Requires user authentication with authorization scope: - https://www.googleapis.com/auth/chat.users.availability | Request |
users.availability.patchPATCH | Updates availability information for a human user. Only the custom_status field can be updated through this method. This method only updates the authenticated user's availability. Requires user authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.users.availability | Request |
users.sections.createPOST | Creates a section in Google Chat. Sections help users group conversations and customize the list of spaces displayed in Chat navigation panel. Only sections of type CUSTOM_SECTION can be created. For details, see Create and organize sections in Google Chat. Requires user authentication with the authorization scope: - https://www.googleapis.com/auth/chat.users.sections | Request |
users.sections.deleteDELETE | Deletes a section of type CUSTOM_SECTION. If the section contains items, such as spaces, the items are moved to Google Chat's default sections and are not deleted. For details, see Create and organize sections in Google Chat. Requires user authentication with the authorization scope: - https://www.googleapis.com/auth/chat.users.sections | Request |
users.sections.items.listGET | Lists items in a section. Only spaces can be section items. For details, see Create and organize sections in Google Chat. Requires user authentication with the authorization scope: - https://www.googleapis.com/auth/chat.users.sections - https://www.googleapis.com/auth/chat.users.sections.readonly | Request |
users.sections.items.movePOST | Moves an item from one section to another. For example, if a section contains spaces, this method can be used to move a space to a different section. For details, see Create and organize sections in Google Chat. Requires user authentication with the authorization scope: - https://www.googleapis.com/auth/chat.users.sections | Request |
users.sections.listGET | Lists sections available to the Chat user. Sections help users group their conversations and customize the list of spaces displayed in Chat navigation panel. For details, see Create and organize sections in Google Chat. Requires user authentication with the authorization scope: - https://www.googleapis.com/auth/chat.users.sections - https://www.googleapis.com/auth/chat.users.sections.readonly | Request |
users.sections.patchPATCH | Updates a section. Only sections of type CUSTOM_SECTION can be updated. For details, see Create and organize sections in Google Chat. Requires user authentication with the authorization scope: - https://www.googleapis.com/auth/chat.users.sections | Request |
users.sections.positionPOST | Changes the sort order of a section. For details, see Create and organize sections in Google Chat. Requires user authentication with the authorization scope: - https://www.googleapis.com/auth/chat.users.sections | Request |
users.spaces.getSpaceReadStateGET | Returns details about a user's read state within a space, used to identify read and unread messages. For an example, see Get details about a user's space read state. Requires user authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.users.readstate.readonly - https://www.googleapis.com/auth/chat.users.readstate | Request |
users.spaces.spaceNotificationSetting.getGET | Gets the space notification setting. For an example, see Get the caller's space notification setting. Requires user authentication with the authorization scope: - https://www.googleapis.com/auth/chat.users.spacesettings | Request |
users.spaces.spaceNotificationSetting.patchPATCH | Updates the space notification setting. For an example, see Update the caller's space notification setting. Requires user authentication with the authorization scope: - https://www.googleapis.com/auth/chat.users.spacesettings | Request |
users.spaces.threads.getThreadReadStateGET | Returns details about a user's read state within a thread, used to identify read and unread messages. For an example, see Get details about a user's thread read state. Requires user authentication with one of the following authorization scopes: - https://www.googleapis.com/auth/chat.users.readstate.readonly - https://www.googleapis.com/auth/chat.users.readstate | Request |
users.spaces.updateSpaceReadStatePATCH | Updates a user's read state within a space, used to identify read and unread messages. For an example, see Update a user's space read state. Requires user authentication with the authorization scope: - https://www.googleapis.com/auth/chat.users.readstate | Request |
forms
Not exposed — 10 methods. Google Discovery: forms:v1.
| Method | ||
|---|---|---|
forms.batchUpdatePOST | Change the form with a batch of updates. | Request |
forms.createPOST | Create a new form using the title given in the provided form message in the request. Important: Only the form.info.title and form.info.document_title fields are copied to the new form. All other fields including the form description, items and settings are disallowed. To create a new form and add items, you must first call forms.create to create an empty form with a title and (optional) document title, and then call forms.update to add the items. | Request |
forms.getGET | Get a form. | Request |
forms.responses.getGET | Get one response from the form. | Request |
forms.responses.listGET | List a form's responses. | Request |
forms.setPublishSettingsPOST | Updates the publish settings of a form. Legacy forms aren't supported because they don't have the publish_settings field. | Request |
forms.watches.createPOST | Create a new watch. If a watch ID is provided, it must be unused. For each invoking project, the per form limit is one watch per Watch.EventType. A watch expires seven days after it is created (see Watch.expire_time). | Request |
forms.watches.deleteDELETE | Delete a watch. | Request |
forms.watches.listGET | Return a list of the watches owned by the invoking project. The maximum number of watches is two: For each invoker, the limit is one for each event type per form. | Request |
forms.watches.renewPOST | Renew an existing watch for seven days. The state of the watch after renewal is ACTIVE, and the expire_time is seven days from the renewal. Renewing a watch in an error state (e.g. SUSPENDED) succeeds if the error is no longer present, but fail otherwise. After a watch has expired, RenewWatch returns NOT_FOUND. | Request |
people
Not exposed — 24 methods. Google Discovery: people:v1.
| Method | ||
|---|---|---|
contactGroups.batchGetGET | Get a list of contact groups owned by the authenticated user by specifying a list of contact group resource names. | Request |
contactGroups.createPOST | Create a new contact group owned by the authenticated user. Created contact group names must be unique to the users contact groups. Attempting to create a group with a duplicate name will return a HTTP 409 error. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. | Request |
contactGroups.deleteDELETE | Delete an existing contact group owned by the authenticated user by specifying a contact group resource name. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. | Request |
contactGroups.getGET | Get a specific contact group owned by the authenticated user by specifying a contact group resource name. | Request |
contactGroups.listGET | List all contact groups owned by the authenticated user. Members of the contact groups are not populated. | Request |
contactGroups.members.modifyPOST | Modify the members of a contact group owned by the authenticated user. The only system contact groups that can have members added are contactGroups/myContacts and contactGroups/starred. Other system contact groups are deprecated and can only have contacts removed. | Request |
contactGroups.updatePUT | Update the name of an existing contact group owned by the authenticated user. Updated contact group names must be unique to the users contact groups. Attempting to create a group with a duplicate name will return a HTTP 409 error. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. | Request |
otherContacts.copyOtherContactToMyContactsGroupPOST | Copies an "Other contact" to a new contact in the user's "myContacts" group Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. | Request |
otherContacts.listGET | List all "Other contacts", that is contacts that are not in a contact group. "Other contacts" are typically auto created contacts from interactions. Sync tokens expire 7 days after the full sync. A request with an expired sync token will get an error with an google.rpc.ErrorInfo with reason "EXPIRED_SYNC_TOKEN". In the case of such an error clients should make a full sync request without a sync_token. The first page of a full sync request has an additional quota. If the quota is exceeded, a 429 error will be returned. This quota is fixed and can not be increased. When the sync_token is specified, resources deleted since the last sync will be returned as a person with PersonMetadata.deleted set to true. When the page_token or sync_token is specified, all other request parameters must match the first call. Writes may have a propagation delay of several minutes for sync requests. Incremental syncs are not intended for read-after-write use cases. See example usage at List the user's other contacts that have changed. | Request |
otherContacts.searchGET | Provides a list of contacts in the authenticated user's other contacts that matches the search query. The query matches on a contact's names, emailAddresses, and phoneNumbers fields that are from the OTHER_CONTACT source. IMPORTANT: Before searching, clients should send a warmup request with an empty query to update the cache. See https://developers.google.com/people/v1/other-contacts#search_the_users_other_contacts | Request |
people.batchCreateContactsPOST | Create a batch of new contacts and return the PersonResponses for the newly Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. | Request |
people.batchDeleteContactsPOST | Delete a batch of contacts. Any non-contact data will not be deleted. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. | Request |
people.batchUpdateContactsPOST | Update a batch of contacts and return a map of resource names to PersonResponses for the updated contacts. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. | Request |
people.connections.listGET | Provides a list of the authenticated user's contacts. Sync tokens expire 7 days after the full sync. A request with an expired sync token will get an error with an google.rpc.ErrorInfo with reason "EXPIRED_SYNC_TOKEN". In the case of such an error clients should make a full sync request without a sync_token. The first page of a full sync request has an additional quota. If the quota is exceeded, a 429 error will be returned. This quota is fixed and can not be increased. When the sync_token is specified, resources deleted since the last sync will be returned as a person with PersonMetadata.deleted set to true. When the page_token or sync_token is specified, all other request parameters must match the first call. Writes may have a propagation delay of several minutes for sync requests. Incremental syncs are not intended for read-after-write use cases. See example usage at List the user's contacts that have changed. | Request |
people.createContactPOST | Create a new contact and return the person resource for that contact. The request returns a 400 error if more than one field is specified on a field that is a singleton for contact sources: * biographies * birthdays * genders * names Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. | Request |
people.deleteContactDELETE | Delete a contact person. Any non-contact data will not be deleted. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. | Request |
people.deleteContactPhotoDELETE | Delete a contact's photo. Mutate requests for the same user should be done sequentially to avoid // lock contention. | Request |
people.getGET | Provides information about a person by specifying a resource name. Use people/me to indicate the authenticated user. The request returns a 400 error if 'personFields' is not specified. | Request |
people.getBatchGetGET | Provides information about a list of specific people by specifying a list of requested resource names. Use people/me to indicate the authenticated user. The request returns a 400 error if 'personFields' is not specified. | Request |
people.listDirectoryPeopleGET | Provides a list of domain profiles and domain contacts in the authenticated user's domain directory. When the sync_token is specified, resources deleted since the last sync will be returned as a person with PersonMetadata.deleted set to true. When the page_token or sync_token is specified, all other request parameters must match the first call. Writes may have a propagation delay of several minutes for sync requests. Incremental syncs are not intended for read-after-write use cases. See example usage at List the directory people that have changed. | Request |
people.searchContactsGET | Provides a list of contacts in the authenticated user's grouped contacts that matches the search query. The query matches on a contact's names, nickNames, emailAddresses, phoneNumbers, and organizations fields that are from the CONTACT source. IMPORTANT: Before searching, clients should send a warmup request with an empty query to update the cache. See https://developers.google.com/people/v1/contacts#search_the_users_contacts | Request |
people.searchDirectoryPeopleGET | Provides a list of domain profiles and domain contacts in the authenticated user's domain directory that match the search query. | Request |
people.updateContactPATCH | Update contact data for an existing contact person. Any non-contact data will not be modified. Any non-contact data in the person to update will be ignored. All fields specified in the update_mask will be replaced. The server returns a 400 error if person.metadata.sources is not specified for the contact to be updated or if there is no contact source. The server returns a 400 error with reason "failedPrecondition" if person.metadata.sources.etag is different than the contact's etag, which indicates the contact has changed since its data was read. Clients should get the latest person and merge their updates into the latest person. If making sequential updates to the same person, the etag from the updateContact response should be used to avoid failures. The server returns a 400 error if memberships are being updated and there are no contact group memberships specified on the person. The server returns a 400 error if more than one field is specified on a field that is a singleton for contact sources: * biographies * birthdays * genders * names Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. | Request |
people.updateContactPhotoPATCH | Update a contact's photo. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. | Request |
slides
Not exposed — 5 methods. Google Discovery: slides:v1.
| Method | ||
|---|---|---|
presentations.batchUpdatePOST | Applies one or more updates to the presentation. Each request is validated before being applied. If any request is not valid, then the entire request will fail and nothing will be applied. Some requests have replies to give you some information about how they are applied. Other requests do not need to return information; these each return an empty reply. The order of replies matches that of the requests. For example, suppose you call batchUpdate with four updates, and only the third one returns information. The response would have two empty replies: the reply to the third request, and another empty reply, in that order. Because other users may be editing the presentation, the presentation might not exactly reflect your changes: your changes may be altered with respect to collaborator changes. If there are no collaborators, the presentation should reflect your changes. In any case, the updates in your request are guaranteed to be applied together atomically. | Request |
presentations.createPOST | Creates a blank presentation using the title given in the request. If a presentationId is provided, it is used as the ID of the new presentation. Otherwise, a new ID is generated. Other fields in the request, including any provided content, are ignored. Returns the created presentation. | Request |
presentations.getGET | Gets the latest version of the specified presentation. | Request |
presentations.pages.getGET | Gets the latest version of the specified page in the presentation. | Request |
presentations.pages.getThumbnailGET | Generates a thumbnail of the latest version of the specified page in the presentation and returns a URL to the thumbnail image. This request counts as an expensive read request for quota purposes. | Request |
Why the subset is curated, and what makes a request persuasive: API coverage.