diff --git a/README.md b/README.md index 3f166f2..c568207 100644 --- a/README.md +++ b/README.md @@ -12,7 +12,11 @@ documents, plus native Drive upload and streamed workspace download helpers. ## Use from Rook ```ts -import { installGoogleWorkspace } from "@rook/google-workspace"; +import { + GOOGLE_WORKSPACE_APPLICATION_CARD, + GOOGLE_WORKSPACE_MEMBER_INDEX, + installGoogleWorkspace, +} from "@rook/google-workspace"; ``` Rook pins this repository by commit, so a provider change and its browser proof @@ -36,3 +40,23 @@ vp run check The test runs the production client in real headless Chromium against a local HTTP boundary and proves native `File`, `Blob`, `ReadableStream`, 2.1 MB Drive transfer, hashing, cancellation, and atomic workspace publication behavior. + +## Develop with Rook locally + +Build after each package change, then temporarily link this checkout into the +sibling Rook extension package: + +```bash +vp run build +vp exec -- pnpm --dir ../think-browser-host/packages/extension link ../../../rook-integrations +``` + +Remove the local link when verification is complete; `pnpm unlink` reinstalls +the immutable commit already saved by Rook: + +```bash +vp exec -- pnpm --dir ../think-browser-host/packages/extension unlink @rook/google-workspace +``` + +Never land the link as integration state. The final Rook change pins the +reviewed `rook-integrations` commit in its package manifest and lockfile. diff --git a/dist/google-workspace.d.ts b/dist/google-workspace.d.ts new file mode 100644 index 0000000..dc0f7f8 --- /dev/null +++ b/dist/google-workspace.d.ts @@ -0,0 +1,34469 @@ +//#region src/google-workspace.generated.d.ts +declare const GOOGLE_WORKSPACE_APPLICATION_ID = "google-workspace"; +declare namespace GoogleDrive { + /** Information about the user, the user's Drive, and system capabilities. */ + type About = { + /** Whether the user has installed the requesting app. */ + appInstalled?: boolean; + /** Whether the user can create shared drives. */ + canCreateDrives?: boolean; + /** Deprecated: Use `canCreateDrives` instead. */ + canCreateTeamDrives?: boolean; + /** A list of themes that are supported for shared drives. */ + driveThemes?: Array<{ + /** A link to this theme's background image. */ + backgroundImageLink?: string; + /** The color of this theme as an RGB hex string. */ + colorRgb?: string; + /** The ID of the theme. */ + id?: string; + }>; + /** A map of source MIME type to possible targets for all supported exports. */ + exportFormats?: Record>; + /** The currently supported folder colors as RGB hex strings. */ + folderColorPalette?: Array; + /** A map of source MIME type to possible targets for all supported imports. */ + importFormats?: Record>; + /** Identifies what kind of resource this is. Value: the fixed string `"drive#about"`. */ + kind?: string; + /** A map of maximum import sizes by MIME type, in bytes. */ + maxImportSizes?: Record; + /** The maximum upload size in bytes. */ + maxUploadSize?: string; + /** The user's storage quota limits and usage. For users that are part of an organization with pooled storage, information about the limit and usage across all services is for the organization, rather than the individual user. All fields are measured in bytes. */ + storageQuota?: { + /** The usage limit, if applicable. This will not be present if the user has unlimited storage. For users that are part of an organization with pooled storage, this is the limit for the organization, rather than the individual user. */ + limit?: string; + /** The total usage across all services. For users that are part of an organization with pooled storage, this is the usage across all services for the organization, rather than the individual user. */ + usage?: string; + /** The usage by all files in Google Drive. */ + usageInDrive?: string; + /** The usage by trashed files in Google Drive. */ + usageInDriveTrash?: string; + }; + /** Deprecated: Use `driveThemes` instead. */ + teamDriveThemes?: Array<{ + /** Deprecated: Use `driveThemes/backgroundImageLink` instead. */ + backgroundImageLink?: string; + /** Deprecated: Use `driveThemes/colorRgb` instead. */ + colorRgb?: string; + /** Deprecated: Use `driveThemes/id` instead. */ + id?: string; + }>; + /** The authenticated user. */ + user?: GoogleDrive.User; + }; + /** Manage outstanding access proposals on a file. */ + type AccessProposal = { + /** The creation time. */ + createTime?: string; + /** The file ID that the proposal for access is on. */ + fileId?: string; + /** The ID of the access proposal. */ + proposalId?: string; + /** The email address of the user that will receive permissions, if accepted. */ + recipientEmailAddress?: string; + /** The email address of the requesting user. */ + requesterEmailAddress?: string; + /** The message that the requester added to the proposal. */ + requestMessage?: string; + /** A wrapper for the role and view of an access proposal. For more information, see [Roles and permissions](https://developers.google.com/workspace/drive/api/guides/ref-roles). */ + rolesAndViews?: Array; + }; + /** A wrapper for the role and view of an access proposal. For more information, see [Roles and permissions](https://developers.google.com/workspace/drive/api/guides/ref-roles). */ + type AccessProposalRoleAndView = { + /** The role that was proposed by the requester. The supported values are: * `writer` * `commenter` * `reader` */ + role?: string; + /** Indicates the view for this access proposal. Only populated for proposals that belong to a view. Only `published` is supported. */ + view?: string; + }; + /** Representation of a reviewer addition. */ + type AddReviewer = { + /** Required. The email of the reviewer to add. */ + addedReviewerEmail?: string; + }; + /** The `apps` resource provides a list of apps that a user has installed, with information about each app's supported MIME types, file extensions, and other details. Some resource methods (such as `apps.get`) require an `appId`. Use the `apps.list` method to retrieve the ID for an installed application. */ + type App = { + /** Whether the app is authorized to access data on the user's Drive. */ + authorized?: boolean; + /** The template URL to create a file with this app in a given folder. The template contains the {folderId} to be replaced by the folder ID house the new file. */ + createInFolderTemplate?: string; + /** The URL to create a file with this app. */ + createUrl?: string; + /** Whether the app has Drive-wide scope. An app with Drive-wide scope can access all files in the user's Drive. */ + hasDriveWideScope?: boolean; + /** The various icons for the app. */ + icons?: Array; + /** The ID of the app. */ + id?: string; + /** Whether the app is installed. */ + installed?: boolean; + /** Output only. Identifies what kind of resource this is. Value: the fixed string "drive#app". */ + kind?: string; + /** A long description of the app. */ + longDescription?: string; + /** The name of the app. */ + name?: string; + /** The type of object this app creates such as a Chart. If empty, the app name should be used instead. */ + objectType?: string; + /** The template URL for opening files with this app. The template contains {ids} or {exportIds} to be replaced by the actual file IDs. For more information, see Open Files for the full documentation. */ + openUrlTemplate?: string; + /** The list of primary file extensions. */ + primaryFileExtensions?: Array; + /** The list of primary MIME types. */ + primaryMimeTypes?: Array; + /** The ID of the product listing for this app. */ + productId?: string; + /** A link to the product listing for this app. */ + productUrl?: string; + /** The list of secondary file extensions. */ + secondaryFileExtensions?: Array; + /** The list of secondary MIME types. */ + secondaryMimeTypes?: Array; + /** A short description of the app. */ + shortDescription?: string; + /** Whether this app supports creating objects. */ + supportsCreate?: boolean; + /** Whether this app supports importing from Google Docs. */ + supportsImport?: boolean; + /** Whether this app supports opening more than one file. */ + supportsMultiOpen?: boolean; + /** Whether this app supports creating files when offline. */ + supportsOfflineCreate?: boolean; + /** Whether the app is selected as the default handler for the types it supports. */ + useByDefault?: boolean; + }; + type AppIcons = { + /** Category of the icon. Allowed values are: * `application` - The icon for the application. * `document` - The icon for a file associated with the app. * `documentShared` - The icon for a shared file associated with the app. */ + category?: string; + /** URL for the icon. */ + iconUrl?: string; + /** Size of the icon. Represented as the maximum of the width and height. */ + size?: number; + }; + /** A list of third-party applications which the user has installed or given access to Google Drive. */ + type AppList = { + /** The list of app IDs that the user has specified to use by default. The list is in reverse-priority order (lowest to highest). */ + defaultAppIds?: Array; + /** The list of apps. */ + items?: Array; + /** Output only. Identifies what kind of resource this is. Value: the fixed string "drive#appList". */ + kind?: string; + /** A link back to this list. */ + selfLink?: string; + }; + /** Metadata for an approval. An approval is a review or approve process for a Drive item. */ + type Approval = { + /** The approval ID. */ + approvalId?: string; + /** Output only. The time the approval was completed. */ + completeTime?: string; + /** Output only. The time the approval was created. */ + createTime?: string; + /** The time that the approval is due. */ + dueTime?: string; + /** Output only. The behavior of the approval when the file content changes. */ + fileContentChangeBehavior?: "FILE_CONTENT_CHANGE_BEHAVIOR_UNSPECIFIED" | "RESET_APPROVAL" | "NO_APPROVAL_ACTION"; + /** The user that requested the approval. */ + initiator?: GoogleDrive.User; + /** This is always drive#approval. */ + kind?: string; + /** Output only. The most recent time the approval was modified. */ + modifyTime?: string; + /** The responses made on the approval by reviewers. */ + reviewerResponses?: Array; + /** Output only. The status of the approval at the time this resource was requested. */ + status?: "STATUS_UNSPECIFIED" | "IN_PROGRESS" | "APPROVED" | "CANCELLED" | "DECLINED"; + /** Target file id of the approval. */ + targetFileId?: string; + }; + /** The response of an approvals list request. */ + type ApprovalList = { + /** The list of approvals. If `nextPageToken` is populated, then this list may be incomplete and an additional page of results should be fetched. */ + items?: Array; + /** This is always drive#approvalList */ + kind?: string; + /** The page token for the next page of approvals. This is absent if the end of the approvals list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results. */ + nextPageToken?: string; + }; + /** Request for approving an approval as a reviewer. */ + type ApproveApprovalRequest = { + /** Optional. A message to accompany the reviewer response on the approval. This message is included in notifications for the action and in the approval activity log. */ + message?: string; + }; + /** Request for cancelling an approval as an initiator. */ + type CancelApprovalRequest = { + /** Optional. A message to accompany the cancellation of the approval. This message is included in notifications for the action and in the approval activity log. */ + message?: string; + }; + /** A change to a file or shared drive. */ + type Change = { + /** The type of the change. Possible values are `file` and `drive`. */ + changeType?: string; + /** The updated state of the shared drive. Present if the changeType is drive, the user is still a member of the shared drive, and the shared drive has not been deleted. */ + drive?: GoogleDrive.Drive; + /** The ID of the shared drive associated with this change. */ + driveId?: string; + /** The updated state of the file. Present if the type is file and the file has not been removed from this list of changes. */ + file?: GoogleDrive.File; + /** The ID of the file which has changed. */ + fileId?: string; + /** Identifies what kind of resource this is. Value: the fixed string `"drive#change"`. */ + kind?: string; + /** Whether the file or shared drive has been removed from this list of changes, for example by deletion or loss of access. */ + removed?: boolean; + /** Deprecated: Use `drive` instead. */ + teamDrive?: GoogleDrive.TeamDrive; + /** Deprecated: Use `driveId` instead. */ + teamDriveId?: string; + /** The time of this change (RFC 3339 date-time). */ + time?: string; + /** Deprecated: Use `changeType` instead. */ + type?: string; + }; + /** A list of changes for a user. */ + type ChangeList = { + /** The list of changes. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched. */ + changes?: Array; + /** Identifies what kind of resource this is. Value: the fixed string `"drive#changeList"`. */ + kind?: string; + /** The starting page token for future changes. This will be present only if the end of the current changes list has been reached. The page token doesn't expire. */ + newStartPageToken?: string; + /** The page token for the next page of changes. This will be absent if the end of the changes list has been reached. The page token doesn't expire. */ + nextPageToken?: string; + }; + /** A notification channel used to watch for resource changes. */ + type Channel = { + /** The address where notifications are delivered for this channel. */ + address?: string; + /** Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional. */ + expiration?: string; + /** A UUID or similar unique string that identifies this channel. */ + id?: string; + /** Identifies this as a notification channel used to watch for changes to a resource, which is `api#channel`. */ + kind?: string; + /** Additional parameters controlling delivery channel behavior. Optional. */ + params?: Record; + /** A Boolean value to indicate whether payload is wanted. Optional. */ + payload?: boolean; + /** An opaque ID that identifies the resource being watched on this channel. Stable across different API versions. */ + resourceId?: string; + /** A version-specific identifier for the watched resource. */ + resourceUri?: string; + /** An arbitrary string delivered to the target address with each notification delivered over this channel. Optional. */ + token?: string; + /** The type of delivery mechanism used for this channel. Valid values are "web_hook" or "webhook". */ + type?: string; + }; + /** Details about the client-side encryption applied to the file. */ + type ClientEncryptionDetails = { + /** The metadata used for client-side operations. */ + decryptionMetadata?: GoogleDrive.DecryptionMetadata; + /** The encryption state of the file. The values expected here are: - encrypted - unencrypted */ + encryptionState?: string; + }; + /** A comment on a file. Some resource methods (such as `comments.update`) require a `commentId`. Use the `comments.list` method to retrieve the ID for a comment in a file. */ + type Comment = { + /** A region of the document represented as a JSON string. For details on defining anchor properties, refer to [Manage comments and replies](https://developers.google.com/workspace/drive/api/v3/manage-comments). */ + anchor?: string; + /** Output only. The email address of the user assigned to this comment. If no user is assigned, the field is unset. */ + assigneeEmailAddress?: string; + /** Output only. The author of the comment. The author's email address and permission ID will not be populated. */ + author?: GoogleDrive.User; + /** The plain text content of the comment. This field is used for setting the content, while `htmlContent` should be displayed. */ + content?: string; + /** The time at which the comment was created (RFC 3339 date-time). */ + createdTime?: string; + /** Output only. Whether the comment has been deleted. A deleted comment has no content. */ + deleted?: boolean; + /** Output only. The content of the comment with HTML formatting. */ + htmlContent?: string; + /** Output only. The ID of the comment. */ + id?: string; + /** Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#comment"`. */ + kind?: string; + /** Output only. A list of email addresses for users mentioned in this comment. If no users are mentioned, the list is empty. */ + mentionedEmailAddresses?: Array; + /** The last time the comment or any of its replies was modified (RFC 3339 date-time). */ + modifiedTime?: string; + /** The file content to which the comment refers, typically within the anchor region. For a text file, for example, this would be the text at the location of the comment. */ + quotedFileContent?: { + /** The MIME type of the quoted content. */ + mimeType?: string; + /** The quoted content itself. This is interpreted as plain text if set through the API. */ + value?: string; + }; + /** Output only. The full list of replies to the comment in chronological order. */ + replies?: Array; + /** Output only. Whether the comment has been resolved by one of its replies. */ + resolved?: boolean; + }; + /** Request for commenting on an approval. */ + type CommentApprovalRequest = { + /** Required. A message to comment on the approval. This message is included in notifications for the action and in the approval activity log. */ + message?: string; + }; + /** A list of comments on a file. */ + type CommentList = { + /** The list of comments. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched. */ + comments?: Array; + /** Identifies what kind of resource this is. Value: the fixed string `"drive#commentList"`. */ + kind?: string; + /** The page token for the next page of comments. This will be absent if the end of the comments list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results. The page token is typically valid for several hours. However, if new items are added or removed, your expected results might differ. */ + nextPageToken?: string; + }; + /** A restriction for accessing the content of the file. */ + type ContentRestriction = { + /** Whether the content restriction can only be modified or removed by a user who owns the file. For files in shared drives, any user with `organizer` capabilities can modify or remove this content restriction. */ + ownerRestricted?: boolean; + /** Whether the content of the file is read-only. If a file is read-only, a new revision of the file may not be added, comments may not be added or modified, and the title of the file may not be modified. */ + readOnly?: boolean; + /** Reason for why the content of the file is restricted. This is only mutable on requests that also set `readOnly=true`. */ + reason?: string; + /** Output only. The user who set the content restriction. Only populated if `readOnly=true`. */ + restrictingUser?: GoogleDrive.User; + /** The time at which the content restriction was set (formatted RFC 3339 timestamp). Only populated if readOnly is true. */ + restrictionTime?: string; + /** Output only. Whether the content restriction was applied by the system, for example due to an esignature. Users cannot modify or remove system restricted content restrictions. */ + systemRestricted?: boolean; + /** Output only. The type of the content restriction. Currently the only possible value is `globalContentRestriction`. */ + type?: string; + }; + /** Request for declining an approval as a reviewer. */ + type DeclineApprovalRequest = { + /** Optional. A message to accompany the reviewer response on the approval. This message is included in notifications for the action and in the approval activity log. */ + message?: string; + }; + /** Representation of the CSE DecryptionMetadata. */ + type DecryptionMetadata = { + /** Chunk size used if content was encrypted with the AES 256 GCM Cipher. Possible values are: - default - small */ + aes256GcmChunkSize?: string; + /** The URL-safe Base64 encoded HMAC-SHA256 digest of the resource metadata with its DEK (Data Encryption Key); see https://developers.google.com/workspace/cse/reference */ + encryptionResourceKeyHash?: string; + /** The signed JSON Web Token (JWT) which can be used to authorize the requesting user with the Key ACL Service (KACLS). The JWT asserts that the requesting user has at least read permissions on the file. */ + jwt?: string; + /** The ID of the KACLS (Key ACL Service) used to encrypt the file. */ + kaclsId?: string; + /** The name of the KACLS (Key ACL Service) used to encrypt the file. */ + kaclsName?: string; + /** Key format for the unwrapped key. Must be `tinkAesGcmKey`. */ + keyFormat?: string; + /** The URL-safe Base64 encoded wrapped key used to encrypt the contents of the file. */ + wrappedKey?: string; + }; + /** A restriction for copy and download of the file. */ + type DownloadRestriction = { + /** Whether download and copy is restricted for readers. */ + restrictedForReaders?: boolean; + /** Whether download and copy is restricted for writers. If true, download is also restricted for readers. */ + restrictedForWriters?: boolean; + }; + /** Download restrictions applied to the file. */ + type DownloadRestrictionsMetadata = { + /** Output only. The effective download restriction applied to this file. This considers all restriction settings and DLP rules. */ + effectiveDownloadRestrictionWithContext?: GoogleDrive.DownloadRestriction; + /** The download restriction of the file applied directly by the owner or organizer. This doesn't take into account shared drive settings or DLP rules. */ + itemDownloadRestriction?: GoogleDrive.DownloadRestriction; + }; + /** Representation of a shared drive. Some resource methods (such as `drives.update`) require a `driveId`. Use the `drives.list` method to retrieve the ID for a shared drive. */ + type Drive = { + /** An image file and cropping parameters from which a background image for this shared drive is set. This is a write only field; it can only be set on `drive.drives.update` requests that don't set `themeId`. When specified, all fields of the `backgroundImageFile` must be set. */ + backgroundImageFile?: { + /** The ID of an image file in Google Drive to use for the background image. */ + id?: string; + /** The width of the cropped image in the closed range of 0 to 1. This value represents the width of the cropped image divided by the width of the entire image. The height is computed by applying a width to height aspect ratio of 80 to 9. The resulting image must be at least 1280 pixels wide and 144 pixels high. */ + width?: number; + /** The X coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the horizontal distance from the left side of the entire image to the left side of the cropping area divided by the width of the entire image. */ + xCoordinate?: number; + /** The Y coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the vertical distance from the top side of the entire image to the top side of the cropping area divided by the height of the entire image. */ + yCoordinate?: number; + }; + /** Output only. A short-lived link to this shared drive's background image. */ + backgroundImageLink?: string; + /** Output only. Capabilities the current user has on this shared drive. */ + capabilities?: { + /** Output only. Whether the current user can add children to folders in this shared drive. */ + canAddChildren?: boolean; + /** Output only. Whether the current user can change the `copyRequiresWriterPermission` restriction of this shared drive. */ + canChangeCopyRequiresWriterPermissionRestriction?: boolean; + /** Output only. Whether the current user can change the `domainUsersOnly` restriction of this shared drive. */ + canChangeDomainUsersOnlyRestriction?: boolean; + /** Output only. Whether the current user can change organizer-applied download restrictions of this shared drive. */ + canChangeDownloadRestriction?: boolean; + /** Output only. Whether the current user can change the background of this shared drive. */ + canChangeDriveBackground?: boolean; + /** Output only. Whether the current user can change the `driveMembersOnly` restriction of this shared drive. */ + canChangeDriveMembersOnlyRestriction?: boolean; + /** Output only. Whether the current user can change the `sharingFoldersRequiresOrganizerPermission` restriction of this shared drive. */ + canChangeSharingFoldersRequiresOrganizerPermissionRestriction?: boolean; + /** Output only. Whether the current user can comment on files in this shared drive. */ + canComment?: boolean; + /** Output only. Whether the current user can copy files in this shared drive. */ + canCopy?: boolean; + /** Output only. Whether the current user can delete children from folders in this shared drive. */ + canDeleteChildren?: boolean; + /** Output only. Whether the current user can delete this shared drive. Attempting to delete the shared drive may still fail if there are untrashed items inside the shared drive. */ + canDeleteDrive?: boolean; + /** Output only. Whether the current user can download files in this shared drive. */ + canDownload?: boolean; + /** Output only. Whether the current user can edit files in this shared drive */ + canEdit?: boolean; + /** Output only. Whether the current user can list the children of folders in this shared drive. */ + canListChildren?: boolean; + /** Output only. Whether the current user can add members to this shared drive or remove them or change their role. */ + canManageMembers?: boolean; + /** Output only. Whether the current user can read the revisions resource of files in this shared drive. */ + canReadRevisions?: boolean; + /** Output only. Whether the current user can rename files or folders in this shared drive. */ + canRename?: boolean; + /** Output only. Whether the current user can rename this shared drive. */ + canRenameDrive?: boolean; + /** Output only. Whether the current user can reset the shared drive restrictions to defaults. */ + canResetDriveRestrictions?: boolean; + /** Output only. Whether the current user can share files or folders in this shared drive. */ + canShare?: boolean; + /** Output only. Whether the current user can trash children from folders in this shared drive. */ + canTrashChildren?: boolean; + }; + /** The color of this shared drive as an RGB hex string. It can only be set on a `drive.drives.update` request that does not set `themeId`. */ + colorRgb?: string; + /** The time at which the shared drive was created (RFC 3339 date-time). */ + createdTime?: string; + /** Whether the shared drive is hidden from default view. */ + hidden?: boolean; + /** Output only. The ID of this shared drive which is also the ID of the top level folder of this shared drive. */ + id?: string; + /** Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#drive"`. */ + kind?: string; + /** The name of this shared drive. */ + name?: string; + /** Output only. The organizational unit of this shared drive. This field is only populated on `drives.list` responses when the `useDomainAdminAccess` parameter is set to `true`. */ + orgUnitId?: string; + /** A set of restrictions that apply to this shared drive or items inside this shared drive. Note that restrictions can't be set when creating a shared drive. To add a restriction, first create a shared drive and then use `drives.update` to add restrictions. */ + restrictions?: { + /** Whether administrative privileges on this shared drive are required to modify restrictions. */ + adminManagedRestrictions?: boolean; + /** Whether the options to copy, print, or download files inside this shared drive, should be disabled for readers and commenters. When this restriction is set to `true`, it will override the similarly named field to `true` for any file inside this shared drive. */ + copyRequiresWriterPermission?: boolean; + /** Whether access to this shared drive and items inside this shared drive is restricted to users of the domain to which this shared drive belongs. This restriction may be overridden by other sharing policies controlled outside of this shared drive. */ + domainUsersOnly?: boolean; + /** Download restrictions applied by shared drive managers. */ + downloadRestriction?: GoogleDrive.DownloadRestriction; + /** Whether access to items inside this shared drive is restricted to its members. */ + driveMembersOnly?: boolean; + /** If true, only users with the organizer role can share folders. If false, users with either the organizer role or the file organizer role can share folders. */ + sharingFoldersRequiresOrganizerPermission?: boolean; + }; + /** The ID of the theme from which the background image and color will be set. The set of possible `driveThemes` can be retrieved from a `drive.about.get` response. When not specified on a `drive.drives.create` request, a random theme is chosen from which the background image and color are set. This is a write-only field; it can only be set on requests that don't set `colorRgb` or `backgroundImageFile`. */ + themeId?: string; + }; + /** A list of shared drives. */ + type DriveList = { + /** The list of shared drives. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched. */ + drives?: Array; + /** Identifies what kind of resource this is. Value: the fixed string `"drive#driveList"`. */ + kind?: string; + /** The page token for the next page of shared drives. This will be absent if the end of the list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results. The page token is typically valid for several hours. However, if new items are added or removed, your expected results might differ. */ + nextPageToken?: string; + }; + /** The metadata for a file. Some resource methods (such as `files.update`) require a `fileId`. Use the `files.list` method to retrieve the ID for a file. */ + type File = { + /** A collection of arbitrary key-value pairs which are private to the requesting app. Entries with null values are cleared in update and copy requests. These properties can only be retrieved using an authenticated request. An authenticated request uses an access token obtained with a OAuth 2 client ID. You cannot use an API key to retrieve private properties. */ + appProperties?: Record; + /** Output only. Capabilities the current user has on this file. Each capability corresponds to a fine-grained action that a user may take. For more information, see [Understand file capabilities](https://developers.google.com/workspace/drive/api/guides/manage-sharing#capabilities). */ + capabilities?: { + /** Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files. */ + canAcceptOwnership?: boolean; + /** Whether the current user can access this file via Gen AI features. For more information, see [Drive MCP file eligibility](https://developers.google.com/workspace/drive/api/guides/drive-mcp-server-file-eligibility). */ + canAccessViaGenAi?: boolean; + /** Output only. Whether the current user can add children to this folder. This is always `false` when the item isn't a folder. */ + canAddChildren?: boolean; + /** Output only. Whether the current user can add a folder from another drive (different shared drive or My Drive) to this folder. This is `false` when the item isn't a folder. Only populated for items in shared drives. */ + canAddFolderFromAnotherDrive?: boolean; + /** Output only. Whether the current user can add a parent for the item without removing an existing parent in the same request. Not populated for shared drive files. */ + canAddMyDriveParent?: boolean; + /** Output only. Whether the current user can change the `copyRequiresWriterPermission` restriction of this file. */ + canChangeCopyRequiresWriterPermission?: boolean; + /** Output only. Whether the current user can change the owner or organizer-applied download restrictions of the file. */ + canChangeItemDownloadRestriction?: boolean; + /** Output only. Whether the current user can change the `securityUpdateEnabled` field on link share metadata. */ + canChangeSecurityUpdateEnabled?: boolean; + /** Deprecated: Output only. */ + canChangeViewersCanCopyContent?: boolean; + /** Output only. Whether the current user can comment on this file. */ + canComment?: boolean; + /** Output only. Whether the current user can copy this file. For an item in a shared drive, whether the current user can copy non-folder descendants of this item, or this item if it's not a folder. */ + canCopy?: boolean; + /** Output only. Whether the current user can delete this file. */ + canDelete?: boolean; + /** Output only. Whether the current user can delete children of this folder. This is `false` when the item isn't a folder. Only populated for items in shared drives. */ + canDeleteChildren?: boolean; + /** Whether a user can disable inherited permissions. */ + canDisableInheritedPermissions?: boolean; + /** Output only. Whether the current user can download this file. */ + canDownload?: boolean; + /** Output only. Whether the current user can edit this file. Other factors may limit the type of changes a user can make to a file. For example, see `canChangeCopyRequiresWriterPermission` or `canModifyContent`. */ + canEdit?: boolean; + /** Whether a user can re-enable inherited permissions. */ + canEnableInheritedPermissions?: boolean; + /** Output only. Whether the current user can list the children of this folder. This is always `false` when the item isn't a folder. */ + canListChildren?: boolean; + /** Output only. Whether the current user can modify the content of this file. */ + canModifyContent?: boolean; + /** Deprecated: Output only. Use one of `canModifyEditorContentRestriction`, `canModifyOwnerContentRestriction`, or `canRemoveContentRestriction`. */ + canModifyContentRestriction?: boolean; + /** Output only. Whether the current user can add or modify content restrictions on the file which are editor restricted. */ + canModifyEditorContentRestriction?: boolean; + /** Output only. Whether the current user can modify the labels on the file. */ + canModifyLabels?: boolean; + /** Output only. Whether the current user can add or modify content restrictions which are owner restricted. */ + canModifyOwnerContentRestriction?: boolean; + /** Output only. Whether the current user can move children of this folder outside of the shared drive. This is `false` when the item isn't a folder. Only populated for items in shared drives. */ + canMoveChildrenOutOfDrive?: boolean; + /** Deprecated: Output only. Use `canMoveChildrenOutOfDrive` instead. */ + canMoveChildrenOutOfTeamDrive?: boolean; + /** Output only. Whether the current user can move children of this folder within this drive. This is `false` when the item isn't a folder. Note that a request to move the child may still fail depending on the current user's access to the child and to the destination folder. */ + canMoveChildrenWithinDrive?: boolean; + /** Deprecated: Output only. Use `canMoveChildrenWithinDrive` instead. */ + canMoveChildrenWithinTeamDrive?: boolean; + /** Deprecated: Output only. Use `canMoveItemOutOfDrive` instead. */ + canMoveItemIntoTeamDrive?: boolean; + /** Output only. Whether the current user can move this item outside of this drive by changing its parent. Note that a request to change the parent of the item may still fail depending on the new parent that's being added. */ + canMoveItemOutOfDrive?: boolean; + /** Deprecated: Output only. Use `canMoveItemOutOfDrive` instead. */ + canMoveItemOutOfTeamDrive?: boolean; + /** Output only. Whether the current user can move this item within this drive. Note that a request to change the parent of the item may still fail depending on the new parent that's being added and the parent that is being removed. */ + canMoveItemWithinDrive?: boolean; + /** Deprecated: Output only. Use `canMoveItemWithinDrive` instead. */ + canMoveItemWithinTeamDrive?: boolean; + /** Deprecated: Output only. Use `canMoveItemWithinDrive` or `canMoveItemOutOfDrive` instead. */ + canMoveTeamDriveItem?: boolean; + /** Output only. Whether the current user can read the shared drive to which this file belongs. Only populated for items in shared drives. */ + canReadDrive?: boolean; + /** Output only. Whether the current user can read the labels on the file. */ + canReadLabels?: boolean; + /** Output only. Whether the current user can read the revisions resource of this file. For a shared drive item, whether revisions of non-folder descendants of this item, or this item if it's not a folder, can be read. */ + canReadRevisions?: boolean; + /** Deprecated: Output only. Use `canReadDrive` instead. */ + canReadTeamDrive?: boolean; + /** Output only. Whether the current user can remove children from this folder. This is always `false` when the item isn't a folder. For a folder in a shared drive, use `canDeleteChildren` or `canTrashChildren` instead. */ + canRemoveChildren?: boolean; + /** Output only. Whether there's a content restriction on the file that can be removed by the current user. */ + canRemoveContentRestriction?: boolean; + /** Output only. Whether the current user can remove a parent from the item without adding another parent in the same request. Not populated for shared drive files. */ + canRemoveMyDriveParent?: boolean; + /** Output only. Whether the current user can rename this file. */ + canRename?: boolean; + /** Output only. Whether the current user can modify the sharing settings for this file. */ + canShare?: boolean; + /** Whether the current user can start an approval on the file. */ + canStartApproval?: boolean; + /** Output only. Whether the current user can move this file to trash. */ + canTrash?: boolean; + /** Output only. Whether the current user can trash children of this folder. This is `false` when the item isn't a folder. Only populated for items in shared drives. */ + canTrashChildren?: boolean; + /** Output only. Whether the current user can restore this file from trash. */ + canUntrash?: boolean; + }; + /** Client Side Encryption related details. Contains details about the encryption state of the file and details regarding the encryption mechanism that clients need to use when decrypting the contents of this item. This will only be present on files and not on folders or shortcuts. */ + clientEncryptionDetails?: GoogleDrive.ClientEncryptionDetails; + /** Additional information about the content of the file. These fields are never populated in responses. */ + contentHints?: { + /** Text to be indexed for the file to improve fullText queries. This is limited to 128 KB in length and may contain HTML elements. */ + indexableText?: string; + /** A thumbnail for the file. This will only be used if Google Drive cannot generate a standard thumbnail. */ + thumbnail?: { + /** The thumbnail data encoded with URL-safe Base64 ([RFC 4648 section 5](https://datatracker.ietf.org/doc/html/rfc4648#section-5)). */ + image?: string; + /** The MIME type of the thumbnail. */ + mimeType?: string; + }; + }; + /** Restrictions for accessing the content of the file. Only populated if such a restriction exists. */ + contentRestrictions?: Array; + /** Whether the options to copy, print, or download this file should be disabled for readers and commenters. */ + copyRequiresWriterPermission?: boolean; + /** The time at which the file was created (RFC 3339 date-time). */ + createdTime?: string; + /** A short description of the file. */ + description?: string; + /** Download restrictions applied on the file. */ + downloadRestrictions?: GoogleDrive.DownloadRestrictionsMetadata; + /** Output only. ID of the shared drive the file resides in. Only populated for items in shared drives. */ + driveId?: string; + /** Output only. Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder. */ + explicitlyTrashed?: boolean; + /** Output only. Links for exporting Docs Editors files to specific formats. */ + exportLinks?: Record; + /** Output only. The final component of `fullFileExtension`. This is only available for files with binary content in Google Drive. */ + fileExtension?: string; + /** The color for a folder or a shortcut to a folder as an RGB hex string. The supported colors are published in the `folderColorPalette` field of the [`about`](/workspace/drive/api/reference/rest/v3/about) resource. If an unsupported color is specified, the closest color in the palette is used instead. */ + folderColorRgb?: string; + /** Output only. The full file extension extracted from the `name` field. May contain multiple concatenated extensions, such as "tar.gz". This is only available for files with binary content in Google Drive. This is automatically updated when the `name` field changes, however it's not cleared if the new name doesn't contain a valid extension. */ + fullFileExtension?: string; + /** Output only. Whether there are permissions directly on this file. This field is only populated for items in shared drives. */ + hasAugmentedPermissions?: boolean; + /** Output only. Whether this file has a thumbnail. This doesn't indicate whether the requesting app has access to the thumbnail. To check access, look for the presence of the thumbnailLink field. */ + hasThumbnail?: boolean; + /** Output only. The ID of the file's head revision. This is currently only available for files with binary content in Google Drive. */ + headRevisionId?: string; + /** Output only. A static, unauthenticated link to the file's icon. */ + iconLink?: string; + /** The ID of the file. */ + id?: string; + /** Output only. Additional metadata about image media, if available. */ + imageMediaMetadata?: { + /** Output only. The aperture used to create the photo (f-number). */ + aperture?: number; + /** Output only. The make of the camera used to create the photo. */ + cameraMake?: string; + /** Output only. The model of the camera used to create the photo. */ + cameraModel?: string; + /** Output only. The color space of the photo. */ + colorSpace?: string; + /** Output only. The exposure bias of the photo (APEX value). */ + exposureBias?: number; + /** Output only. The exposure mode used to create the photo. */ + exposureMode?: string; + /** Output only. The length of the exposure, in seconds. */ + exposureTime?: number; + /** Output only. Whether a flash was used to create the photo. */ + flashUsed?: boolean; + /** Output only. The focal length used to create the photo, in millimeters. */ + focalLength?: number; + /** Output only. The height of the image in pixels. */ + height?: number; + /** Output only. The ISO speed used to create the photo. */ + isoSpeed?: number; + /** Output only. The lens used to create the photo. */ + lens?: string; + /** Output only. Geographic location information stored in the image. */ + location?: { + /** Output only. The altitude stored in the image. */ + altitude?: number; + /** Output only. The latitude stored in the image. */ + latitude?: number; + /** Output only. The longitude stored in the image. */ + longitude?: number; + }; + /** Output only. The smallest f-number of the lens at the focal length used to create the photo (APEX value). */ + maxApertureValue?: number; + /** Output only. The metering mode used to create the photo. */ + meteringMode?: string; + /** Output only. The number of clockwise 90 degree rotations applied from the image's original orientation. */ + rotation?: number; + /** Output only. The type of sensor used to create the photo. */ + sensor?: string; + /** Output only. The distance to the subject of the photo, in meters. */ + subjectDistance?: number; + /** Output only. The date and time the photo was taken (EXIF DateTime). */ + time?: string; + /** Output only. The white balance mode used to create the photo. */ + whiteBalance?: string; + /** Output only. The width of the image in pixels. */ + width?: number; + }; + /** Whether this file has inherited permissions disabled. Inherited permissions are enabled by default. */ + inheritedPermissionsDisabled?: boolean; + /** Output only. Whether the file was created or opened by the requesting app. */ + isAppAuthorized?: boolean; + /** Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#file"`. */ + kind?: string; + /** Label information on the file. */ + labelInfo?: { + /** Output only. The set of labels on the file as requested by the label IDs in the `includeLabels` parameter. By default, no labels are returned. */ + labels?: Array; + }; + /** Output only. The last user to modify the file. This field is only populated when the last modification was performed by a signed-in user. */ + lastModifyingUser?: GoogleDrive.User; + /** Contains details about the link URLs that clients are using to refer to this item. */ + linkShareMetadata?: { + /** Output only. Whether the file is eligible for security update. */ + securityUpdateEligible?: boolean; + /** Output only. Whether the security update is enabled for this file. */ + securityUpdateEnabled?: boolean; + }; + /** Output only. The MD5 checksum for the content of the file. This is only applicable to files with binary content in Google Drive. */ + md5Checksum?: string; + /** The MIME type of the file. Google Drive attempts to automatically detect an appropriate value from uploaded content, if no value is provided. The value cannot be changed unless a new revision is uploaded. If a file is created with a Google Doc MIME type, the uploaded content is imported, if possible. The supported import formats are published in the [`about`](/workspace/drive/api/reference/rest/v3/about) resource. */ + mimeType?: string; + /** Output only. Whether the file has been modified by this user. */ + modifiedByMe?: boolean; + /** The last time the file was modified by the user (RFC 3339 date-time). */ + modifiedByMeTime?: string; + /** he last time the file was modified by anyone (RFC 3339 date-time). Note that setting modifiedTime will also update modifiedByMeTime for the user. */ + modifiedTime?: string; + /** The name of the file. This isn't necessarily unique within a folder. Note that for immutable items such as the top-level folders of shared drives, the My Drive root folder, and the Application Data folder, the name is constant. */ + name?: string; + /** The original filename of the uploaded content if available, or else the original value of the `name` field. This is only available for files with binary content in Google Drive. */ + originalFilename?: string; + /** Output only. Whether the user owns the file. Not populated for items in shared drives. */ + ownedByMe?: boolean; + /** Output only. The owner of this file. Only certain legacy files may have more than one owner. This field isn't populated for items in shared drives. */ + owners?: Array; + /** The ID of the parent folder containing the file. A file can only have one parent folder; specifying multiple parents isn't supported. If not specified as part of a create request, the file is placed directly in the user's My Drive folder. If not specified as part of a copy request, the file inherits any discoverable parent of the source file. Update requests must use the `addParents` and `removeParents` parameters to modify the parents list. */ + parents?: Array; + /** Output only. List of permission IDs for users with access to this file. */ + permissionIds?: Array; + /** Output only. The full list of permissions for the file. This is only available if the requesting user can share the file. Not populated for items in shared drives. */ + permissions?: Array; + /** A collection of arbitrary key-value pairs which are visible to all apps. Entries with null values are cleared in update and copy requests. */ + properties?: Record; + /** Output only. The number of storage quota bytes used by the file. This includes the head revision as well as previous revisions with `keepForever` enabled. */ + quotaBytesUsed?: string; + /** Output only. A key needed to access the item via a shared link. */ + resourceKey?: string; + /** Output only. The SHA1 checksum associated with this file, if available. This field is only populated for files with content stored in Google Drive; it's not populated for Docs Editors or shortcut files. */ + sha1Checksum?: string; + /** Output only. The SHA256 checksum associated with this file, if available. This field is only populated for files with content stored in Google Drive; it's not populated for Docs Editors or shortcut files. */ + sha256Checksum?: string; + /** Output only. Whether the file has been shared. Not populated for items in shared drives. */ + shared?: boolean; + /** The time at which the file was shared with the user, if applicable (RFC 3339 date-time). */ + sharedWithMeTime?: string; + /** Output only. The user who shared the file with the requesting user, if applicable. */ + sharingUser?: GoogleDrive.User; + /** Information about a shortcut file. */ + shortcutDetails?: { + /** The ID of the file that this shortcut points to. Can only be set on `files.create` requests. */ + targetId?: string; + /** Output only. The MIME type of the file that this shortcut points to. The value of this field is a snapshot of the target's MIME type, captured when the shortcut is created. */ + targetMimeType?: string; + /** Output only. The `resourceKey` for the target file. */ + targetResourceKey?: string; + }; + /** Output only. Size in bytes of blobs and Google Workspace editor files. Won't be populated for files that have no size, like shortcuts and folders. */ + size?: string; + /** Output only. The list of spaces which contain the file. The currently supported values are `drive`, `appDataFolder`, and `photos`. */ + spaces?: Array; + /** Whether the user has starred the file. */ + starred?: boolean; + /** Deprecated: Output only. Use `driveId` instead. */ + teamDriveId?: string; + /** Output only. A short-lived link to the file's thumbnail, if available. Typically lasts on the order of hours. Not intended for direct usage on web applications due to [Cross-Origin Resource Sharing (CORS)](https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS) policies. Consider using a proxy server. Only populated when the requesting app can access the file's content. If the file isn't shared publicly, the URL returned in `files.thumbnailLink` must be fetched using a credentialed request. */ + thumbnailLink?: string; + /** Output only. The thumbnail version for use in thumbnail cache invalidation. */ + thumbnailVersion?: string; + /** Whether the file has been trashed, either explicitly or from a trashed parent folder. Only the owner may trash a file, but other users can still access the file in the owner's trash until it's permanently deleted. */ + trashed?: boolean; + /** The time that the item was trashed (RFC 3339 date-time). Only populated for items in shared drives. */ + trashedTime?: string; + /** Output only. If the file has been explicitly trashed, the user who trashed it. Only populated for items in shared drives. */ + trashingUser?: GoogleDrive.User; + /** Output only. A monotonically increasing version number for the file. This reflects every change made to the file on the server, even those not visible to the user. */ + version?: string; + /** Output only. Additional metadata about video media. This may not be available immediately upon upload. */ + videoMediaMetadata?: { + /** Output only. The duration of the video in milliseconds. */ + durationMillis?: string; + /** Output only. The height of the video in pixels. */ + height?: number; + /** Output only. The width of the video in pixels. */ + width?: number; + }; + /** Output only. Whether the file has been viewed by this user. */ + viewedByMe?: boolean; + /** The last time the file was viewed by the user (RFC 3339 date-time). */ + viewedByMeTime?: string; + /** Deprecated: Use `copyRequiresWriterPermission` instead. */ + viewersCanCopyContent?: boolean; + /** Output only. A link for downloading the content of the file in a browser. This is only available for files with binary content in Google Drive. */ + webContentLink?: string; + /** Output only. A link for opening the file in a relevant Google editor or viewer in a browser. */ + webViewLink?: string; + /** Whether users with only `writer` permission can modify the file's permissions. Not populated for items in shared drives. */ + writersCanShare?: boolean; + }; + /** A list of files. */ + type FileList = { + /** The list of files. If `nextPageToken` is populated, then this list may be incomplete and an additional page of results should be fetched. */ + files?: Array; + /** Whether the search process was incomplete. If true, then some search results might be missing, since all documents were not searched. This can occur when searching multiple drives with the `allDrives` corpora, but all corpora couldn't be searched. When this happens, it's suggested that clients narrow their query by choosing a different corpus such as `user` or `drive`. */ + incompleteSearch?: boolean; + /** Identifies what kind of resource this is. Value: the fixed string `"drive#fileList"`. */ + kind?: string; + /** The page token for the next page of files. This will be absent if the end of the files list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results. The page token is typically valid for several hours. However, if new items are added or removed, your expected results might differ. */ + nextPageToken?: string; + }; + /** JWT and associated metadata used to generate CSE files. */ + type GenerateCseTokenResponse = { + /** The current Key ACL Service (KACLS) ID associated with the JWT. */ + currentKaclsId?: string; + /** Name of the KACLs that the returned KACLs ID points to. */ + currentKaclsName?: string; + /** The fileId for which the JWT was generated. */ + fileId?: string; + /** The signed JSON Web Token (JWT) for the file. */ + jwt?: string; + /** Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#generateCseTokenResponse"`. */ + kind?: string; + }; + /** A list of generated file IDs which can be provided in create requests. */ + type GeneratedIds = { + /** The IDs generated for the requesting user in the specified space. */ + ids?: Array; + /** Identifies what kind of resource this is. Value: the fixed string `"drive#generatedIds"`. */ + kind?: string; + /** The type of file that can be created with these IDs. */ + space?: string; + }; + /** Representation of label and label fields. */ + type Label = { + /** A map of the fields on the label, keyed by the field's ID. */ + fields?: Record; + /** The ID of the label. */ + id?: string; + /** This is always drive#label */ + kind?: string; + /** The revision ID of the label. */ + revisionId?: string; + }; + /** Representation of field, which is a typed key-value pair. */ + type LabelField = { + /** Only present if valueType is dateString. RFC 3339 formatted date: YYYY-MM-DD. */ + dateString?: Array; + /** The identifier of this label field. */ + id?: string; + /** Only present if `valueType` is `integer`. */ + integer?: Array; + /** This is always drive#labelField. */ + kind?: string; + /** Only present if `valueType` is `selection` */ + selection?: Array; + /** Only present if `valueType` is `text`. */ + text?: Array; + /** Only present if `valueType` is `user`. */ + user?: Array; + /** The field type. While new values may be supported in the future, the following are currently allowed: * `dateString` * `integer` * `selection` * `text` * `user` */ + valueType?: string; + }; + /** A modification to a label's field. */ + type LabelFieldModification = { + /** The ID of the field to be modified. */ + fieldId?: string; + /** This is always `"drive#labelFieldModification"`. */ + kind?: string; + /** Replaces the value of a dateString Field with these new values. The string must be in the RFC 3339 full-date format: YYYY-MM-DD. */ + setDateValues?: Array; + /** Replaces the value of an `integer` field with these new values. */ + setIntegerValues?: Array; + /** Replaces a `selection` field with these new values. */ + setSelectionValues?: Array; + /** Sets the value of a `text` field. */ + setTextValues?: Array; + /** Replaces a `user` field with these new values. The values must be a valid email addresses. */ + setUserValues?: Array; + /** Unsets the values for this field. */ + unsetValues?: boolean; + }; + /** A list of labels applied to a file. */ + type LabelList = { + /** This is always `"drive#labelList"`. */ + kind?: string; + /** The list of labels. */ + labels?: Array; + /** The page token for the next page of labels. This field will be absent if the end of the list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results. The page token is typically valid for several hours. However, if new items are added or removed, your expected results might differ. */ + nextPageToken?: string; + }; + /** A modification to a label on a file. A `LabelModification` can be used to apply a label to a file, update an existing label on a file, or remove a label from a file. */ + type LabelModification = { + /** The list of modifications to this label's fields. */ + fieldModifications?: Array; + /** This is always `"drive#labelModification"`. */ + kind?: string; + /** The ID of the label to modify. */ + labelId?: string; + /** If true, the label will be removed from the file. */ + removeLabel?: boolean; + }; + /** The response to an access proposal list request. */ + type ListAccessProposalsResponse = { + /** The list of access proposals. This field is only populated in Drive API v3. */ + accessProposals?: Array; + /** The continuation token for the next page of results. This will be absent if the end of the results list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results. */ + nextPageToken?: string; + }; + /** A request to modify the set of labels on a file. This request may contain many modifications that will either all succeed or all fail atomically. */ + type ModifyLabelsRequest = { + /** This is always `"drive#modifyLabelsRequest"`. */ + kind?: string; + /** The list of modifications to apply to the labels on the file. */ + labelModifications?: Array; + }; + /** Response to a `ModifyLabels` request. This contains only those labels which were added or updated by the request. */ + type ModifyLabelsResponse = { + /** This is always `"drive#modifyLabelsResponse"`. */ + kind?: string; + /** The list of labels which were added or updated by the request. */ + modifiedLabels?: Array; + }; + /** This resource represents a long-running operation that is the result of a network API call. */ + type Operation = { + /** If the value is `false`, it means the operation is still in progress. If `true`, the operation is completed, and either `error` or `response` is available. */ + done?: boolean; + /** The error result of the operation in case of failure or cancellation. */ + error?: GoogleDrive.Status; + /** Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any. */ + metadata?: Record; + /** The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping, the `name` should be a resource name ending with `operations/{unique_id}`. */ + name?: string; + /** The normal, successful response of the operation. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`. */ + response?: Record; + }; + /** A permission for a file. A permission grants a user, group, domain, or the world access to a file or a folder hierarchy. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). By default, permission requests only return a subset of fields. Permission `kind`, `ID`, `type`, and `role` are always returned. To retrieve specific fields, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter). Some resource methods (such as `permissions.update`) require a `permissionId`. Use the `permissions.list` method to retrieve the ID for a file, folder, or shared drive. */ + type Permission = { + /** Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type `domain` or `anyone`. */ + allowFileDiscovery?: boolean; + /** Output only. Whether the account associated with this permission has been deleted. This field only pertains to permissions of type `user` or `group`. */ + deleted?: boolean; + /** Output only. The "pretty" name of the value of the permission. The following is a list of examples for each type of permission: * `user` - User's full name, as defined for their Google Account, such as "Dana A." * `group` - Name of the Google Group, such as "The Company Administrators." * `domain` - String domain name, such as "cymbalgroup.com." * `anyone` - No `displayName` is present. */ + displayName?: string; + /** Output only. The domain to which this permission refers. */ + domain?: string; + /** Output only. The email address of the user or group to which this permission refers. */ + emailAddress?: string; + /** The time at which this permission will expire (RFC 3339 date-time). Expiration times have the following restrictions: - They can only be set on user and group permissions - The time must be in the future - The time cannot be more than a year in the future */ + expirationTime?: string; + /** Output only. The ID of this permission. This is a unique identifier for the grantee, and is published in the [User resource](https://developers.google.com/workspace/drive/api/reference/rest/v3/User) as `permissionId`. IDs should be treated as opaque values. */ + id?: string; + /** When `true`, only organizers, owners, and users with permissions added directly on the item can access it. */ + inheritedPermissionsDisabled?: boolean; + /** Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#permission"`. */ + kind?: string; + /** Whether the account associated with this permission is a pending owner. Only populated for permissions of type `user` for files that aren't in a shared drive. */ + pendingOwner?: boolean; + /** Output only. Details of whether the permissions on this item are inherited or are directly on this item. */ + permissionDetails?: Array<{ + /** Output only. Whether this permission is inherited. This field is always populated. This is an output-only field. */ + inherited?: boolean; + /** Output only. The ID of the item from which this permission is inherited. This is only populated for items in shared drives. */ + inheritedFrom?: string; + /** Output only. The permission type for this user. Supported values include: * `file` * `member` */ + permissionType?: string; + /** Output only. The primary role for this user. Supported values include: * `owner` * `organizer` * `fileOrganizer` * `writer` * `commenter` * `reader` For more information, see [Roles and permissions](https://developers.google.com/workspace/drive/api/guides/ref-roles). */ + role?: string; + }>; + /** Output only. A link to the user's profile photo, if available. */ + photoLink?: string; + /** The role granted by this permission. Supported values include: * `owner` * `organizer` * `fileOrganizer` * `writer` * `commenter` * `reader` For more information, see [Roles and permissions](https://developers.google.com/workspace/drive/api/guides/ref-roles). */ + role?: string; + /** Output only. Deprecated: Output only. Use `permissionDetails` instead. */ + teamDrivePermissionDetails?: Array<{ + /** Deprecated: Output only. Use `permissionDetails/inherited` instead. */ + inherited?: boolean; + /** Deprecated: Output only. Use `permissionDetails/inheritedFrom` instead. */ + inheritedFrom?: string; + /** Deprecated: Output only. Use `permissionDetails/role` instead. */ + role?: string; + /** Deprecated: Output only. Use `permissionDetails/permissionType` instead. */ + teamDrivePermissionType?: string; + }>; + /** The type of the grantee. Supported values include: * `user` * `group` * `domain` * `anyone` When creating a permission, if `type` is `user` or `group`, you must provide an `emailAddress` for the user or group. If `type` is `domain`, you must provide a `domain`. If `type` is `anyone`, no extra information is required. */ + type?: string; + /** Indicates the view for this permission. Only populated for permissions that belong to a view. The only supported values are `published` and `metadata`: * `published`: The permission's role is `publishedReader`. * `metadata`: The item is only visible to the `metadata` view because the item has limited access and the scope has at least read access to the parent. The `metadata` view is only supported on folders. For more information, see [Views](https://developers.google.com/workspace/drive/api/guides/ref-roles#views). */ + view?: string; + }; + /** A list of permissions for a file. */ + type PermissionList = { + /** Identifies what kind of resource this is. Value: the fixed string `"drive#permissionList"`. */ + kind?: string; + /** The page token for the next page of permissions. This field will be absent if the end of the permissions list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results. The page token is typically valid for several hours. However, if new items are added or removed, your expected results might differ. */ + nextPageToken?: string; + /** The list of permissions. If `nextPageToken` is populated, then this list may be incomplete and an additional page of results should be fetched. */ + permissions?: Array; + }; + /** Request for reassigning an approval. Reviewers can be added or replaced, but not removed. */ + type ReassignApprovalRequest = { + /** Optional. The list of reviewers to add. */ + addReviewers?: Array; + /** Optional. A message to send to the new reviewers. This message is included in notifications for the action and in the approval activity log. */ + message?: string; + /** Optional. The list of reviewer replacements. */ + replaceReviewers?: Array; + }; + /** Representation of a reviewer replacement. */ + type ReplaceReviewer = { + /** Required. The email of the reviewer to add. */ + addedReviewerEmail?: string; + /** Required. The email of the reviewer to remove. */ + removedReviewerEmail?: string; + }; + /** A reply to a comment on a file. Some resource methods (such as `replies.update`) require a `replyId`. Use the `replies.list` method to retrieve the ID for a reply. */ + type Reply = { + /** The action the reply performed to the parent comment. The supported values are: * `resolve` * `reopen` */ + action?: string; + /** Output only. The email address of the user assigned to this comment. If no user is assigned, the field is unset. */ + assigneeEmailAddress?: string; + /** Output only. The author of the reply. The author's email address and permission ID won't be populated. */ + author?: GoogleDrive.User; + /** The plain text content of the reply. This field is used for setting the content, while `htmlContent` should be displayed. This field is required by the `create` method if no `action` value is specified. */ + content?: string; + /** The time at which the reply was created (RFC 3339 date-time). */ + createdTime?: string; + /** Output only. Whether the reply has been deleted. A deleted reply has no content. */ + deleted?: boolean; + /** Output only. The content of the reply with HTML formatting. */ + htmlContent?: string; + /** Output only. The ID of the reply. */ + id?: string; + /** Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#reply"`. */ + kind?: string; + /** Output only. A list of email addresses for users mentioned in this comment. If no users are mentioned, the list is empty. */ + mentionedEmailAddresses?: Array; + /** The last time the reply was modified (RFC 3339 date-time). */ + modifiedTime?: string; + }; + /** A list of replies to a comment on a file. */ + type ReplyList = { + /** Identifies what kind of resource this is. Value: the fixed string `"drive#replyList"`. */ + kind?: string; + /** The page token for the next page of replies. This will be absent if the end of the replies list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results. The page token is typically valid for several hours. However, if new items are added or removed, your expected results might differ. */ + nextPageToken?: string; + /** The list of replies. If `nextPageToken` is populated, then this list may be incomplete and an additional page of results should be fetched. */ + replies?: Array; + }; + /** Request message for resolving an AccessProposal on a file. */ + type ResolveAccessProposalRequest = { + /** Required. The action to take on the access proposal. */ + action?: "ACTION_UNSPECIFIED" | "ACCEPT" | "DENY"; + /** Optional. The roles that the approver has allowed, if any. For more information, see [Roles and permissions](https://developers.google.com/workspace/drive/api/guides/ref-roles). Note: This field is required for the `ACCEPT` action. */ + role?: Array; + /** Optional. Whether to send an email to the requester when the access proposal is denied or accepted. */ + sendNotification?: boolean; + /** Optional. Indicates the view for this access proposal. This should only be set when the proposal belongs to a view. Only `published` is supported. */ + view?: string; + }; + /** A response on an approval made by a specific reviewer. */ + type ReviewerResponse = { + /** This is always drive#reviewerResponse. */ + kind?: string; + /** A reviewer’s response for the approval. */ + response?: "RESPONSE_UNSPECIFIED" | "NO_RESPONSE" | "APPROVED" | "DECLINED"; + /** The user that's responsible for this response. */ + reviewer?: GoogleDrive.User; + }; + /** The metadata for a revision to a file. Some resource methods (such as `revisions.update`) require a `revisionId`. Use the `revisions.list` method to retrieve the ID for a revision. */ + type Revision = { + /** Output only. Links for exporting Docs Editors files to specific formats. */ + exportLinks?: Record; + /** Output only. The ID of the revision. */ + id?: string; + /** Whether to keep this revision forever, even if it is no longer the head revision. If not set, the revision will be automatically purged 30 days after newer content is uploaded. This can be set on a maximum of 200 revisions for a file. This field is only applicable to files with binary content in Drive. */ + keepForever?: boolean; + /** Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#revision"`. */ + kind?: string; + /** Output only. The last user to modify this revision. This field is only populated when the last modification was performed by a signed-in user. */ + lastModifyingUser?: GoogleDrive.User; + /** Output only. The MD5 checksum of the revision's content. This is only applicable to files with binary content in Drive. */ + md5Checksum?: string; + /** Output only. The MIME type of the revision. */ + mimeType?: string; + /** The last time the revision was modified (RFC 3339 date-time). */ + modifiedTime?: string; + /** Output only. The original filename used to create this revision. This is only applicable to files with binary content in Drive. */ + originalFilename?: string; + /** Whether subsequent revisions will be automatically republished. This is only applicable to Docs Editors files. */ + publishAuto?: boolean; + /** Whether this revision is published. This is only applicable to Docs Editors files. */ + published?: boolean; + /** Output only. A link to the published revision. This is only populated for Docs Editors files. */ + publishedLink?: string; + /** Whether this revision is published outside the domain. This is only applicable to Docs Editors files. */ + publishedOutsideDomain?: boolean; + /** Output only. The size of the revision's content in bytes. This is only applicable to files with binary content in Drive. */ + size?: string; + }; + /** A list of revisions of a file. */ + type RevisionList = { + /** Identifies what kind of resource this is. Value: the fixed string `"drive#revisionList"`. */ + kind?: string; + /** The page token for the next page of revisions. This will be absent if the end of the revisions list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results. The page token is typically valid for several hours. However, if new items are added or removed, your expected results might differ. */ + nextPageToken?: string; + /** The list of revisions. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched. */ + revisions?: Array; + }; + /** Allows creating an approval on a file. */ + type StartApprovalRequest = { + /** Optional. The time that the approval is due. */ + dueTime?: string; + /** Optional. The behavior of the approval when the file content changes. */ + fileContentChangeBehavior?: "FILE_CONTENT_CHANGE_BEHAVIOR_UNSPECIFIED" | "RESET_APPROVAL" | "NO_APPROVAL_ACTION"; + /** Optional. Whether to lock the file when starting the approval. */ + lockFile?: boolean; + /** Optional. A message to send to reviewers when notifying them of the approval request. */ + message?: string; + /** Required. The emails of the users who are set to review the approval. */ + reviewerEmails?: Array; + }; + type StartPageToken = { + /** Identifies what kind of resource this is. Value: the fixed string `"drive#startPageToken"`. */ + kind?: string; + /** The starting page token for listing future changes. The page token doesn't expire. */ + startPageToken?: string; + }; + /** The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). */ + type Status = { + /** The status code, which should be an enum value of google.rpc.Code. */ + code?: number; + /** A list of messages that carry the error details. There is a common set of message types for APIs to use. */ + details?: Array>; + /** A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ + message?: string; + }; + /** Deprecated: use the drive collection instead. Next ID: 33 */ + type TeamDrive = { + /** The background image file for a Team Drive. */ + backgroundImageFile?: { + /** The ID of an image file in Drive to use for the background image. */ + id?: string; + /** The width of the cropped image in the closed range of 0 to 1. This value represents the width of the cropped image divided by the width of the entire image. The height is computed by applying a width to height aspect ratio of 80 to 9. The resulting image must be at least 1280 pixels wide and 144 pixels high. */ + width?: number; + /** The X coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the horizontal distance from the left side of the entire image to the left side of the cropping area divided by the width of the entire image. */ + xCoordinate?: number; + /** The Y coordinate of the upper left corner of the cropping area in the background image. This is a value in the closed range of 0 to 1. This value represents the vertical distance from the top side of the entire image to the top side of the cropping area divided by the height of the entire image. */ + yCoordinate?: number; + }; + /** A short-lived link to this Team Drive's background image. */ + backgroundImageLink?: string; + /** Capabilities the current user has on this Team Drive. */ + capabilities?: { + /** Whether the current user can add children to folders in this Team Drive. */ + canAddChildren?: boolean; + /** Whether the current user can change the `copyRequiresWriterPermission` restriction of this Team Drive. */ + canChangeCopyRequiresWriterPermissionRestriction?: boolean; + /** Whether the current user can change the `domainUsersOnly` restriction of this Team Drive. */ + canChangeDomainUsersOnlyRestriction?: boolean; + /** Output only. Whether the current user can change organizer-applied download restrictions of this shared drive. */ + canChangeDownloadRestriction?: boolean; + /** Whether the current user can change the `sharingFoldersRequiresOrganizerPermission` restriction of this Team Drive. */ + canChangeSharingFoldersRequiresOrganizerPermissionRestriction?: boolean; + /** Whether the current user can change the background of this Team Drive. */ + canChangeTeamDriveBackground?: boolean; + /** Whether the current user can change the `teamMembersOnly` restriction of this Team Drive. */ + canChangeTeamMembersOnlyRestriction?: boolean; + /** Whether the current user can comment on files in this Team Drive. */ + canComment?: boolean; + /** Whether the current user can copy files in this Team Drive. */ + canCopy?: boolean; + /** Whether the current user can delete children from folders in this Team Drive. */ + canDeleteChildren?: boolean; + /** Whether the current user can delete this Team Drive. Attempting to delete the Team Drive may still fail if there are untrashed items inside the Team Drive. */ + canDeleteTeamDrive?: boolean; + /** Whether the current user can download files in this Team Drive. */ + canDownload?: boolean; + /** Whether the current user can edit files in this Team Drive */ + canEdit?: boolean; + /** Whether the current user can list the children of folders in this Team Drive. */ + canListChildren?: boolean; + /** Whether the current user can add members to this Team Drive or remove them or change their role. */ + canManageMembers?: boolean; + /** Whether the current user can read the revisions resource of files in this Team Drive. */ + canReadRevisions?: boolean; + /** Deprecated: Use `canDeleteChildren` or `canTrashChildren` instead. */ + canRemoveChildren?: boolean; + /** Whether the current user can rename files or folders in this Team Drive. */ + canRename?: boolean; + /** Whether the current user can rename this Team Drive. */ + canRenameTeamDrive?: boolean; + /** Whether the current user can reset the Team Drive restrictions to defaults. */ + canResetTeamDriveRestrictions?: boolean; + /** Whether the current user can share files or folders in this Team Drive. */ + canShare?: boolean; + /** Whether the current user can trash children from folders in this Team Drive. */ + canTrashChildren?: boolean; + }; + /** The color of this Team Drive as an RGB hex string. It can only be set on a `drive.teamdrives.update` request that does not set `themeId`. */ + colorRgb?: string; + /** The time at which the Team Drive was created (RFC 3339 date-time). */ + createdTime?: string; + /** The ID of this Team Drive which is also the ID of the top level folder of this Team Drive. */ + id?: string; + /** Identifies what kind of resource this is. Value: the fixed string `"drive#teamDrive"`. */ + kind?: string; + /** The name of this Team Drive. */ + name?: string; + /** The organizational unit of this shared drive. This field is only populated on `drives.list` responses when the `useDomainAdminAccess` parameter is set to `true`. */ + orgUnitId?: string; + /** A set of restrictions that apply to this Team Drive or items inside this Team Drive. */ + restrictions?: { + /** Whether administrative privileges on this Team Drive are required to modify restrictions. */ + adminManagedRestrictions?: boolean; + /** Whether the options to copy, print, or download files inside this Team Drive, should be disabled for readers and commenters. When this restriction is set to `true`, it will override the similarly named field to `true` for any file inside this Team Drive. */ + copyRequiresWriterPermission?: boolean; + /** Whether access to this Team Drive and items inside this Team Drive is restricted to users of the domain to which this Team Drive belongs. This restriction may be overridden by other sharing policies controlled outside of this Team Drive. */ + domainUsersOnly?: boolean; + /** Download restrictions applied by shared drive managers. */ + downloadRestriction?: GoogleDrive.DownloadRestriction; + /** If true, only users with the organizer role can share folders. If false, users with either the organizer role or the file organizer role can share folders. */ + sharingFoldersRequiresOrganizerPermission?: boolean; + /** Whether access to items inside this Team Drive is restricted to members of this Team Drive. */ + teamMembersOnly?: boolean; + }; + /** The ID of the theme from which the background image and color will be set. The set of possible `teamDriveThemes` can be retrieved from a `drive.about.get` response. When not specified on a `drive.teamdrives.create` request, a random theme is chosen from which the background image and color are set. This is a write-only field; it can only be set on requests that don't set `colorRgb` or `backgroundImageFile`. */ + themeId?: string; + }; + /** A list of Team Drives. */ + type TeamDriveList = { + /** Identifies what kind of resource this is. Value: the fixed string `"drive#teamDriveList"`. */ + kind?: string; + /** The page token for the next page of Team Drives. This will be absent if the end of the Team Drives list has been reached. If the token is rejected for any reason, it should be discarded, and pagination should be restarted from the first page of results. The page token is typically valid for several hours. However, if new items are added or removed, your expected results might differ. */ + nextPageToken?: string; + /** The list of Team Drives. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched. */ + teamDrives?: Array; + }; + /** Information about a Drive user. */ + type User = { + /** Output only. A plain text displayable name for this user. */ + displayName?: string; + /** Output only. The email address of the user. This may not be present in certain contexts if the user has not made their email address visible to the requester. */ + emailAddress?: string; + /** Output only. Identifies what kind of resource this is. Value: the fixed string `drive#user`. */ + kind?: string; + /** Output only. Whether this user is the requesting user. */ + me?: boolean; + /** Output only. The user's ID as visible in Permission resources. */ + permissionId?: string; + /** Output only. A link to the user's profile photo, if available. */ + photoLink?: string; + }; + type AboutGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type AccessproposalsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The ID of the item the request is on. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Required. The ID of the access proposal to resolve. */ + proposalId: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type AccessproposalsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The ID of the item the request is on. */ + fileId: string; + /** Optional. The number of results per page. */ + pageSize?: number; + /** Optional. The continuation token on the list of access requests. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type AccessproposalsResolveParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The ID of the item the request is on. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Required. The ID of the access proposal to resolve. */ + proposalId: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDrive.ResolveAccessProposalRequest; + }; + type ApprovalsApproveParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Required. The ID of the approval to approve. */ + approvalId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The ID of the file that the approval is on. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDrive.ApproveApprovalRequest; + }; + type ApprovalsCancelParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Required. The ID of the approval to cancel. */ + approvalId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The ID of the file that the approval is on. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDrive.CancelApprovalRequest; + }; + type ApprovalsCommentParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Required. The ID of the approval to comment on. */ + approvalId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The ID of the file that the approval is on. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDrive.CommentApprovalRequest; + }; + type ApprovalsDeclineParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Required. The ID of the approval to decline. */ + approvalId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The ID of the file that the approval is on. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDrive.DeclineApprovalRequest; + }; + type ApprovalsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Required. The ID of the approval. */ + approvalId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The ID of the file that the approval is on. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type ApprovalsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The ID of the file that the approval is on. */ + fileId: string; + /** The maximum number of approvals to return. When not set, at most 100 approvals are returned. */ + pageSize?: number; + /** The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from a previous response. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type ApprovalsReassignParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Required. The ID of the approval to reassign. */ + approvalId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The ID of the file that the approval is on. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDrive.ReassignApprovalRequest; + }; + type ApprovalsStartParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The ID of the file that the approval is created on. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDrive.StartApprovalRequest; + }; + type AppsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the app. */ + appId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type AppsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** A comma-separated list of file extensions to limit returned results. All results within the given app query scope which can open any of the given file extensions are included in the response. If `appFilterMimeTypes` are provided as well, the result is a union of the two resulting app lists. */ + appFilterExtensions?: string; + /** A comma-separated list of file extensions to limit returned results. All results within the given app query scope which can open any of the given MIME types will be included in the response. If `appFilterExtensions` are provided as well, the result is a union of the two resulting app lists. */ + appFilterMimeTypes?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** A language or locale code, as defined by BCP 47, with some extensions from Unicode's LDML format (http://www.unicode.org/reports/tr35/). */ + languageCode?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type ChangesGetStartPageTokenParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the shared drive for which the starting pageToken for listing future changes from that shared drive will be returned. */ + driveId?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + /** Deprecated: Use `driveId` instead. */ + teamDriveId?: string; + }; + type ChangesListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The shared drive from which changes will be returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier. */ + driveId?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Whether changes should include the file resource if the file is still accessible by the user at the time of the request, even when a file was removed from the list of changes and there will be no further change entries for this file. */ + includeCorpusRemovals?: boolean; + /** Whether both My Drive and shared drive items should be included in results. */ + includeItemsFromAllDrives?: boolean; + /** A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. */ + includeLabels?: string; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** Whether to include changes indicating that items have been removed from the list of changes, for example by deletion or loss of access. */ + includeRemoved?: boolean; + /** Deprecated: Use `includeItemsFromAllDrives` instead. */ + includeTeamDriveItems?: boolean; + /** The maximum number of changes to return. The service may return fewer than this value. If unspecified, at most 100 changes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. */ + pageSize?: number; + /** The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response or to the response from the getStartPageToken method. */ + pageToken: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether to restrict the results to changes inside the My Drive hierarchy. This omits changes to files such as those in the Application Data folder or shared files which have not been added to My Drive. */ + restrictToMyDrive?: boolean; + /** A comma-separated list of spaces to query within the corpora. Supported values are 'drive' and 'appDataFolder'. */ + spaces?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + /** Deprecated: Use `driveId` instead. */ + teamDriveId?: string; + }; + type ChangesWatchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The shared drive from which changes will be returned. If specified the change IDs will be reflective of the shared drive; use the combined drive ID and change ID as an identifier. */ + driveId?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Whether changes should include the file resource if the file is still accessible by the user at the time of the request, even when a file was removed from the list of changes and there will be no further change entries for this file. */ + includeCorpusRemovals?: boolean; + /** Whether both My Drive and shared drive items should be included in results. */ + includeItemsFromAllDrives?: boolean; + /** A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. */ + includeLabels?: string; + /** Specifies which additional view's permissions to include in the response. Only 'published' is supported. */ + includePermissionsForView?: string; + /** Whether to include changes indicating that items have been removed from the list of changes, for example by deletion or loss of access. */ + includeRemoved?: boolean; + /** Deprecated: Use `includeItemsFromAllDrives` instead. */ + includeTeamDriveItems?: boolean; + /** The maximum number of changes to return. The service may return fewer than this value. If unspecified, at most 100 changes will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. */ + pageSize?: number; + /** The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response or to the response from the getStartPageToken method. */ + pageToken: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether to restrict the results to changes inside the My Drive hierarchy. This omits changes to files such as those in the Application Data folder or shared files which have not been added to My Drive. */ + restrictToMyDrive?: boolean; + /** A comma-separated list of spaces to query within the corpora. Supported values are 'drive' and 'appDataFolder'. */ + spaces?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + /** Deprecated: Use `driveId` instead. */ + teamDriveId?: string; + requestBody?: GoogleDrive.Channel; + }; + type ChannelsStopParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDrive.Channel; + }; + type CommentsCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDrive.Comment; + }; + type CommentsDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type CommentsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Whether to return deleted comments. Deleted comments will not include their original content. */ + includeDeleted?: boolean; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type CommentsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Whether to include deleted comments. Deleted comments will not include their original content. */ + includeDeleted?: boolean; + /** The maximum number of comments to return. The service may return fewer than this value. If unspecified, at most 20 comments will be returned. The maximum value is 100; values above 100 will be coerced to 100. */ + pageSize?: number; + /** The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The minimum value of 'modifiedTime' for the result comments (RFC 3339 date-time). */ + startModifiedTime?: string; + }; + type CommentsUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDrive.Comment; + }; + type DrivesCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. An ID, such as a random UUID, which uniquely identifies this user's request for idempotent creation of a shared drive. A repeated request by the same user and with the same request ID will avoid creating duplicates by attempting to create the same shared drive. If the shared drive already exists a 409 error will be returned. */ + requestId: string; + requestBody?: GoogleDrive.Drive; + }; + type DrivesDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Whether any items inside the shared drive should also be deleted. This option is only supported when `useDomainAdminAccess` is also set to `true`. */ + allowItemDeletion?: boolean; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the shared drive. */ + driveId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the shared drive belongs. */ + useDomainAdminAccess?: boolean; + }; + type DrivesGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the shared drive. */ + driveId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the shared drive belongs. */ + useDomainAdminAccess?: boolean; + }; + type DrivesHideParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the shared drive. */ + driveId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type DrivesListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The maximum number of shared drives to return. The service may return fewer than this value. If unspecified, at most 10 shared drives will be returned. The maximum value is 100; values above 100 will be coerced to 100. */ + pageSize?: number; + /** Page token for shared drives. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Query string for searching shared drives. */ + q?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Issue the request as a domain administrator; if set to true, then all shared drives of the domain in which the requester is an administrator are returned. */ + useDomainAdminAccess?: boolean; + }; + type DrivesUnhideParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the shared drive. */ + driveId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type DrivesUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the shared drive. */ + driveId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the shared drive belongs. */ + useDomainAdminAccess?: boolean; + requestBody?: GoogleDrive.Drive; + }; + type FilesCopyParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Deprecated: Copying files into multiple folders is no longer supported. Use shortcuts instead. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Whether to ignore the domain's default visibility settings for the created file. Domain administrators can choose to make all uploaded files visible to the domain by default; this parameter bypasses that behavior for the request. Permissions are still inherited from parent folders. */ + ignoreDefaultVisibility?: boolean; + /** A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. */ + includeLabels?: string; + /** Specifies which additional view's permissions to include in the response. Only `published` is supported. */ + includePermissionsForView?: string; + /** Whether to set the `keepForever` field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be kept forever. If the limit is reached, try deleting pinned revisions. */ + keepRevisionForever?: boolean; + /** A language hint for OCR processing during image import (ISO 639-1 code). */ + ocrLanguage?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + requestBody?: GoogleDrive.File; + }; + type FilesCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Deprecated: Creating files in multiple folders is no longer supported. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Whether to ignore the domain's default visibility settings for the created file. Domain administrators can choose to make all uploaded files visible to the domain by default; this parameter bypasses that behavior for the request. Permissions are still inherited from parent folders. */ + ignoreDefaultVisibility?: boolean; + /** A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. */ + includeLabels?: string; + /** Specifies which additional view's permissions to include in the response. Only `published` is supported. */ + includePermissionsForView?: string; + /** Whether to set the `keepForever` field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be kept forever. If the limit is reached, try deleting pinned revisions. */ + keepRevisionForever?: boolean; + /** A language hint for OCR processing during image import (ISO 639-1 code). */ + ocrLanguage?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + /** Whether to use the uploaded content as indexable text. */ + useContentAsIndexableText?: boolean; + requestBody?: GoogleDrive.File; + }; + type FilesDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Deprecated: If an item isn't in a shared drive and its last parent is deleted but the item itself isn't, the item will be placed under its owner's root. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + }; + type FilesDownloadParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The ID of the file to download. */ + fileId: string; + /** Optional. The MIME type the file should be downloaded as. This field can only be set when downloading Google Workspace documents. For a list of supported MIME types, see [Export MIME types for Google Workspace documents](/workspace/drive/api/guides/ref-export-formats). If not set, a Google Workspace document is downloaded with a default MIME type. The default MIME type might change in the future. */ + mimeType?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Optional. The revision ID of the file to download. This field can only be set when downloading blob files, Google Docs, and Google Sheets. Returns `INVALID_ARGUMENT` if downloading a specific revision on the file is unsupported. */ + revisionId?: string; + }; + type FilesEmptyTrashParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** If set, empties the trash of the provided shared drive. */ + driveId?: string; + /** Deprecated: If an item isn't in a shared drive and its last parent is deleted but the item itself isn't, the item will be placed under its owner's root. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type FilesExportParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Required. The MIME type of the format requested for this export. For a list of supported MIME types, see [Export MIME types for Google Workspace documents](/workspace/drive/api/guides/ref-export-formats). */ + mimeType: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type FilesGenerateCseTokenParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file for which the JWT should be generated. If not provided, an id will be generated. */ + fileId?: string; + /** The ID of the expected parent of the file. Used when generating a JWT for a new CSE file. If specified, the parent will be fetched, and if the parent is a shared drive item, the shared drive's policy will be used to determine the KACLS that should be used. It is invalid to specify both file_id and parent in a single request. */ + parent?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type FilesGenerateIdsParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The number of IDs to return. */ + count?: number; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The space in which the IDs can be used to create files. Supported values are `drive` and `appDataFolder`. (Default: `drive`.) For more information, see [File organization](https://developers.google.com/workspace/drive/api/guides/about-files#file-organization). */ + space?: string; + /** The type of items which the IDs can be used for. Supported values are `files` and `shortcuts`. Note that `shortcuts` are only supported in the `drive` `space`. (Default: `files`.) For more information, see [File organization](https://developers.google.com/workspace/drive/api/guides/about-files#file-organization). */ + type?: string; + }; + type FilesGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when the `alt` parameter is set to `media` and the user is the owner of the file or an organizer of the shared drive in which the file resides. */ + acknowledgeAbuse?: boolean; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. */ + includeLabels?: string; + /** Specifies which additional view's permissions to include in the response. Only `published` is supported. */ + includePermissionsForView?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + }; + type FilesListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Specifies a collection of items (files or documents) to which the query applies. Supported items include: * `user` * `domain` * `drive` * `allDrives` Prefer `user` or `drive` to `allDrives` for efficiency. By default, corpora is set to `user`. However, this can change depending on the filter set through the `q` parameter. For more information, see [File organization](https://developers.google.com/workspace/drive/api/guides/about-files#file-organization). */ + corpora?: string; + /** Deprecated: The source of files to list. Use `corpora` instead. */ + corpus?: "domain" | "user"; + /** ID of the shared drive to search. */ + driveId?: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Whether both My Drive and shared drive items should be included in results. */ + includeItemsFromAllDrives?: boolean; + /** A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. */ + includeLabels?: string; + /** Specifies which additional view's permissions to include in the response. Only `published` is supported. */ + includePermissionsForView?: string; + /** Deprecated: Use `includeItemsFromAllDrives` instead. */ + includeTeamDriveItems?: boolean; + /** A comma-separated list of sort keys. Valid keys are: * `createdTime`: When the file was created. Avoid using this key for queries on large item collections as it might result in timeouts or other issues. For time-related sorting on large item collections, use `modifiedTime desc` instead. * `folder`: The folder ID. This field is sorted using alphabetical ordering. * `modifiedByMeTime`: The last time the file was modified by the user. * `modifiedTime`: The last time the file was modified by anyone. * `name`: The name of the file. This field is sorted using alphabetical ordering, so 1, 12, 2, 22. * `name_natural`: The name of the file. This field is sorted using natural sort ordering, so 1, 2, 12, 22. * `quotaBytesUsed`: The number of storage quota bytes used by the file. * `recency`: The most recent timestamp from the file's date-time fields. * `sharedWithMeTime`: When the file was shared with the user, if applicable. * `starred`: Whether the user has starred the file. * `viewedByMeTime`: The last time the file was viewed by the user. Each key sorts ascending by default, but can be reversed with the `desc` modifier. Example usage: `?orderBy=folder,modifiedTime desc,name`. */ + orderBy?: string; + /** The maximum number of files to return. The service may return fewer than this value. If unspecified, at most 100 files will be returned for shared drives, and the entire list of files for non-shared drives. The maximum value is 1000; values above 1000 will be coerced to 1000. */ + pageSize?: number; + /** The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from the previous response. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** A query for filtering the file results. For supported syntax, see [Search for files and folders](/workspace/drive/api/guides/search-files). */ + q?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** A comma-separated list of spaces to query within the corpora. Supported values are `drive` and `appDataFolder`. For more information, see [File organization](https://developers.google.com/workspace/drive/api/guides/about-files#file-organization). */ + spaces?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + /** Deprecated: Use `driveId` instead. */ + teamDriveId?: string; + }; + type FilesListLabelsParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID for the file. */ + fileId: string; + /** The maximum number of labels to return per page. When not set, defaults to 100. */ + maxResults?: number; + /** The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from the previous response. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type FilesModifyLabelsParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file to which the labels belong. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDrive.ModifyLabelsRequest; + }; + type FilesUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** A comma-separated list of parent IDs to add. */ + addParents?: string; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Deprecated: Adding files to multiple folders is no longer supported. Use shortcuts instead. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. */ + includeLabels?: string; + /** Specifies which additional view's permissions to include in the response. Only `published` is supported. */ + includePermissionsForView?: string; + /** Whether to set the `keepForever` field in the new head revision. This is only applicable to files with binary content in Google Drive. Only 200 revisions for the file can be kept forever. If the limit is reached, try deleting pinned revisions. */ + keepRevisionForever?: boolean; + /** A language hint for OCR processing during image import (ISO 639-1 code). */ + ocrLanguage?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** A comma-separated list of parent IDs to remove. */ + removeParents?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + /** Whether to use the uploaded content as indexable text. */ + useContentAsIndexableText?: boolean; + requestBody?: GoogleDrive.File; + }; + type FilesWatchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when the `alt` parameter is set to `media` and the user is the owner of the file or an organizer of the shared drive in which the file resides. */ + acknowledgeAbuse?: boolean; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. */ + includeLabels?: string; + /** Specifies which additional view's permissions to include in the response. Only `published` is supported. */ + includePermissionsForView?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + requestBody?: GoogleDrive.Channel; + }; + type OperationsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The name of the operation resource. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type PermissionsCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** A plain text custom message to include in the notification email. */ + emailMessage?: string; + /** Deprecated: All requests use the expansive access rules. */ + enforceExpansiveAccess?: boolean; + /** Deprecated: See `moveToNewOwnersRoot` for details. */ + enforceSingleParent?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file or shared drive. */ + fileId: string; + /** This parameter only takes effect if the item isn't in a shared drive and the request is attempting to transfer the ownership of the item. If set to `true`, the item is moved to the new owner's My Drive root folder and all prior parents removed. If set to `false`, parents aren't changed. */ + moveToNewOwnersRoot?: boolean; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether to send a notification email when sharing to users or groups. This defaults to `true` for users and groups, and is not allowed for other requests. It must not be disabled for ownership transfers. */ + sendNotificationEmail?: boolean; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + /** Whether to transfer ownership to the specified user and downgrade the current owner to a writer. This parameter is required as an acknowledgement of the side effect. For more information, see [Transfer file ownership](https://developers.google.com/workspace/drive/api/guides/transfer-file). */ + transferOwnership?: boolean; + /** Issue the request as a domain administrator. If set to `true`, and if the following additional conditions are met, the requester is granted access: 1. The file ID parameter refers to a shared drive. 2. The requester is an administrator of the domain to which the shared drive belongs. For more information, see [Manage shared drives as domain administrators](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives#manage-administrators). */ + useDomainAdminAccess?: boolean; + requestBody?: GoogleDrive.Permission; + }; + type PermissionsDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Deprecated: All requests use the expansive access rules. */ + enforceExpansiveAccess?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file or shared drive. */ + fileId: string; + /** The ID of the permission. */ + permissionId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + /** Issue the request as a domain administrator. If set to `true`, and if the following additional conditions are met, the requester is granted access: 1. The file ID parameter refers to a shared drive. 2. The requester is an administrator of the domain to which the shared drive belongs. For more information, see [Manage shared drives as domain administrators](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives#manage-administrators). */ + useDomainAdminAccess?: boolean; + }; + type PermissionsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** The ID of the permission. */ + permissionId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + /** Issue the request as a domain administrator. If set to `true`, and if the following additional conditions are met, the requester is granted access: 1. The file ID parameter refers to a shared drive. 2. The requester is an administrator of the domain to which the shared drive belongs. For more information, see [Manage shared drives as domain administrators](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives#manage-administrators). */ + useDomainAdminAccess?: boolean; + }; + type PermissionsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file or shared drive. */ + fileId: string; + /** Specifies which additional view's permissions to include in the response. Only `published` is supported. */ + includePermissionsForView?: string; + /** The maximum number of permissions to return. The service may return fewer than this value. If unspecified, at most 100 permissions will be returned for shared drives, and the entire list of permissions for non-shared drives. The maximum value is 100; values above 100 will be coerced to 100. */ + pageSize?: number; + /** The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from the previous response. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + /** Issue the request as a domain administrator. If set to `true`, and if the following additional conditions are met, the requester is granted access: 1. The file ID parameter refers to a shared drive. 2. The requester is an administrator of the domain to which the shared drive belongs. For more information, see [Manage shared drives as domain administrators](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives#manage-administrators). */ + useDomainAdminAccess?: boolean; + }; + type PermissionsUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Deprecated: All requests use the expansive access rules. */ + enforceExpansiveAccess?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file or shared drive. */ + fileId: string; + /** The ID of the permission. */ + permissionId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Whether to remove the expiration date. */ + removeExpiration?: boolean; + /** Whether the requesting application supports both My Drives and shared drives. */ + supportsAllDrives?: boolean; + /** Deprecated: Use `supportsAllDrives` instead. */ + supportsTeamDrives?: boolean; + /** Whether to transfer ownership to the specified user and downgrade the current owner to a writer. This parameter is required as an acknowledgement of the side effect. For more information, see [Transfer file ownership](https://developers.google.com//workspace/drive/api/guides/transfer-file). */ + transferOwnership?: boolean; + /** Issue the request as a domain administrator. If set to `true`, and if the following additional conditions are met, the requester is granted access: 1. The file ID parameter refers to a shared drive. 2. The requester is an administrator of the domain to which the shared drive belongs. For more information, see [Manage shared drives as domain administrators](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives#manage-administrators). */ + useDomainAdminAccess?: boolean; + requestBody?: GoogleDrive.Permission; + }; + type RepliesCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDrive.Reply; + }; + type RepliesDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the reply. */ + replyId: string; + }; + type RepliesGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Whether to return deleted replies. Deleted replies don't include their original content. */ + includeDeleted?: boolean; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the reply. */ + replyId: string; + }; + type RepliesListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Whether to include deleted replies. Deleted replies don't include their original content. */ + includeDeleted?: boolean; + /** The maximum number of replies to return. The service may return fewer than this value. If unspecified, at most 20 replies will be returned. The maximum value is 100; values above 100 will be coerced to 100. */ + pageSize?: number; + /** The token for continuing a previous list request on the next page. This should be set to the value of `nextPageToken` from the previous response. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type RepliesUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the comment. */ + commentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the reply. */ + replyId: string; + requestBody?: GoogleDrive.Reply; + }; + type RevisionsDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the revision. */ + revisionId: string; + }; + type RevisionsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Whether the user is acknowledging the risk of downloading known malware or other abusive files. This is only applicable when the `alt` parameter is set to `media` and the user is the owner of the file or an organizer of the shared drive in which the file resides. */ + acknowledgeAbuse?: boolean; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the revision. */ + revisionId: string; + }; + type RevisionsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** The maximum number of revisions to return. The service may return fewer than this value. If unspecified, at most 200 revisions will be returned. The maximum value is 1000; values above 1000 will be coerced to 1000. */ + pageSize?: number; + /** The token for continuing a previous list request on the next page. This should be set to the value of 'nextPageToken' from the previous response. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type RevisionsUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the file. */ + fileId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the revision. */ + revisionId: string; + requestBody?: GoogleDrive.Revision; + }; + type TeamdrivesCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. An ID, such as a random UUID, which uniquely identifies this user's request for idempotent creation of a Team Drive. A repeated request by the same user and with the same request ID will avoid creating duplicates by attempting to create the same Team Drive. If the Team Drive already exists a 409 error will be returned. */ + requestId: string; + requestBody?: GoogleDrive.TeamDrive; + }; + type TeamdrivesDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the Team Drive */ + teamDriveId: string; + }; + type TeamdrivesGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the Team Drive */ + teamDriveId: string; + /** Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the Team Drive belongs. */ + useDomainAdminAccess?: boolean; + }; + type TeamdrivesListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Maximum number of Team Drives to return. */ + pageSize?: number; + /** Page token for Team Drives. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Query string for searching Team Drives. */ + q?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Issue the request as a domain administrator; if set to true, then all Team Drives of the domain in which the requester is an administrator are returned. */ + useDomainAdminAccess?: boolean; + }; + type TeamdrivesUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the Team Drive */ + teamDriveId: string; + /** Issue the request as a domain administrator; if set to true, then the requester will be granted access if they are an administrator of the domain to which the Team Drive belongs. */ + useDomainAdminAccess?: boolean; + requestBody?: GoogleDrive.TeamDrive; + }; + type Client = { + about: { + /** Gets information about the user, the user's Drive, and system capabilities. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter). */ + get(params?: AboutGetParams): Promise; + }; + accessproposals: { + /** Retrieves an access proposal by ID. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access). */ + get(params: AccessproposalsGetParams): Promise; + /** List the access proposals on a file. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access). Note: Only approvers are able to list access proposals on a file. If the user isn't an approver, a 403 error is returned. */ + list(params: AccessproposalsListParams): Promise; + /** Approves or denies an access proposal. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access). */ + resolve(params: AccessproposalsResolveParams): Promise; + }; + approvals: { + /** Approves an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`. */ + approve(params: ApprovalsApproveParams): Promise; + /** Cancels an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`. */ + cancel(params: ApprovalsCancelParams): Promise; + /** Comments on an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals). This sends a notification to both the initiator and the reviewers. Additionally, a message is also added to the approval activity log. */ + comment(params: ApprovalsCommentParams): Promise; + /** Declines an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`. */ + decline(params: ApprovalsDeclineParams): Promise; + /** Gets an approval by ID. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals). */ + get(params: ApprovalsGetParams): Promise; + /** Lists the approvals on a file. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals). */ + list(params: ApprovalsListParams): Promise; + /** Reassigns the reviewers on an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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. */ + reassign(params: ApprovalsReassignParams): Promise; + /** Starts an approval on a file. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals). */ + start(params: ApprovalsStartParams): Promise; + }; + apps: { + /** Gets a specific app. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info). */ + get(params: AppsGetParams): Promise; + /** Lists a user's installed apps. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info). */ + list(params?: AppsListParams): Promise; + }; + changes: { + /** Gets the starting pageToken for listing future changes. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes). */ + getStartPageToken(params?: ChangesGetStartPageTokenParams): Promise; + /** Lists the changes for a user or shared drive. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes). */ + list(params: ChangesListParams): Promise; + /** Subscribes to changes for a user. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push). */ + watch(params: ChangesWatchParams): Promise; + }; + channels: { + /** Stops watching resources through this channel. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push). */ + stop(params?: ChannelsStopParams): Promise; + }; + comments: { + /** Creates a comment on a file. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter). */ + create(params: CommentsCreateParams): Promise; + /** Deletes a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). */ + delete(params: CommentsDeleteParams): Promise; + /** Gets a comment by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter). */ + get(params: CommentsGetParams): Promise; + /** Lists a file's comments. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter). */ + list(params: CommentsListParams): Promise; + /** Updates a comment with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter). */ + update(params: CommentsUpdateParams): Promise; + }; + drives: { + /** Creates a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives). */ + create(params: DrivesCreateParams): Promise; + /** 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](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives). */ + delete(params: DrivesDeleteParams): Promise; + /** Gets a shared drive's metadata by ID. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives). */ + get(params: DrivesGetParams): Promise; + /** Hides a shared drive from the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives). */ + hide(params: DrivesHideParams): Promise; + /** 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](https://developers.google.com/workspace/drive/api/guides/search-shareddrives) guide. */ + list(params?: DrivesListParams): Promise; + /** Restores a shared drive to the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives). */ + unhide(params: DrivesUnhideParams): Promise; + /** Updates the metadata for a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives). */ + update(params: DrivesUpdateParams): Promise; + }; + files: { + /** Creates a copy of a file and applies any requested updates with patch semantics. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file). */ + copy(params: FilesCopyParams): Promise; + /** Creates a file. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file). 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](https://developers.google.com/workspace/drive/api/guides/mime-types).) For more information on uploading files, see [Upload file data](https://developers.google.com/workspace/drive/api/guides/manage-uploads). 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. */ + create(params?: FilesCreateParams): Promise; + /** Permanently deletes a file owned by the user without moving it to the trash. For more information, see [Trash or delete files and folders](https://developers.google.com/workspace/drive/api/guides/delete). 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. */ + delete(params: FilesDeleteParams): Promise; + /** Downloads the content of a file. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Operations are valid for 24 hours from the time of creation. */ + download(params: FilesDownloadParams): Promise; + /** Permanently deletes all of the user's trashed files. For more information, see [Trash or delete files and folders](https://developers.google.com/workspace/drive/api/guides/delete). */ + emptyTrash(params?: FilesEmptyTrashParams): Promise; + /** Exports a Google Workspace document to the requested MIME type and returns exported byte content. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Note that the exported content is limited to 10 MB. */ + export(params: FilesExportParams): Promise; + /** Generates a CSE token which can be used to create or update CSE files. */ + generateCseToken(params?: FilesGenerateCseTokenParams): Promise; + /** Generates a set of file IDs which can be provided in create or copy requests. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file). */ + generateIds(params?: FilesGenerateIdsParams): Promise; + /** Gets a file's metadata or content by ID. For more information, see [Search for files and folders](https://developers.google.com/workspace/drive/api/guides/search-files). 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`](https://developers.google.com/workspace/drive/api/reference/rest/v3/files/export) instead. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). */ + get(params: FilesGetParams): Promise; + /** Lists the user's files. For more information, see [Search for files and folders](https://developers.google.com/workspace/drive/api/guides/search-files). 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. */ + list(params?: FilesListParams): Promise; + /** Lists the labels on a file. For more information, see [List labels on a file](https://developers.google.com/workspace/drive/api/guides/list-labels). */ + listLabels(params: FilesListLabelsParams): Promise; + /** Modifies the set of labels applied to a file. For more information, see [Set a label field on a file](https://developers.google.com/workspace/drive/api/guides/set-label). Returns a list of the labels that were added or modified. */ + modifyLabels(params: FilesModifyLabelsParams): Promise; + /** 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](https://developers.google.com/workspace/drive/api/guides/mime-types).) For more information on uploading files, see [Upload file data](https://developers.google.com/workspace/drive/api/guides/manage-uploads). */ + update(params: FilesUpdateParams): Promise; + /** Subscribes to changes to a file. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push). */ + watch(params: FilesWatchParams): Promise; + /** Upload a native browser File without base64 or a model-visible byte body. */ + upload(input: DriveUploadInput): Promise; + /** Stream Drive bytes directly into an atomically published workspace path. */ + downloadToWorkspace(input: DriveDownloadInput): Promise<{ + path: string; + sha256: string; + size: number; + }>; + }; + operations: { + /** 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. */ + get(params: OperationsGetParams): Promise; + }; + permissions: { + /** Creates a permission for a file or shared drive. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied. */ + create(params: PermissionsCreateParams): Promise; + /** Deletes a permission. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied. */ + delete(params: PermissionsDeleteParams): Promise; + /** Gets a permission by ID. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). */ + get(params: PermissionsGetParams): Promise; + /** Lists a file's or shared drive's permissions. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). */ + list(params: PermissionsListParams): Promise; + /** Updates a permission with patch semantics. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied. */ + update(params: PermissionsUpdateParams): Promise; + }; + replies: { + /** Creates a reply to a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). */ + create(params: RepliesCreateParams): Promise; + /** Deletes a reply. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). */ + delete(params: RepliesDeleteParams): Promise; + /** Gets a reply by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). */ + get(params: RepliesGetParams): Promise; + /** Lists a comment's replies. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). */ + list(params: RepliesListParams): Promise; + /** Updates a reply with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). */ + update(params: RepliesUpdateParams): Promise; + }; + revisions: { + /** 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](https://developers.google.com/drive/api/guides/manage-revisions). */ + delete(params: RevisionsDeleteParams): Promise; + /** Gets a revision's metadata or content by ID. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions). */ + get(params: RevisionsGetParams): Promise; + /** Lists a file's revisions. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-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. */ + list(params: RevisionsListParams): Promise; + /** Updates a revision with patch semantics. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions). */ + update(params: RevisionsUpdateParams): Promise; + }; + teamdrives: { + /** Deprecated: Use `drives.create` instead. */ + create(params: TeamdrivesCreateParams): Promise; + /** Deprecated: Use `drives.delete` instead. */ + delete(params: TeamdrivesDeleteParams): Promise; + /** Deprecated: Use `drives.get` instead. */ + get(params: TeamdrivesGetParams): Promise; + /** Deprecated: Use `drives.list` instead. */ + list(params?: TeamdrivesListParams): Promise; + /** Deprecated: Use `drives.update` instead. */ + update(params: TeamdrivesUpdateParams): Promise; + }; + }; +} +declare namespace GoogleGmail { + /** Auto-forwarding settings for an account. */ + type AutoForwarding = { + /** The state that a message should be left in after it has been forwarded. */ + disposition?: "dispositionUnspecified" | "leaveInInbox" | "archive" | "trash" | "markRead"; + /** Email address to which all incoming messages are forwarded. This email address must be a verified member of the forwarding addresses. */ + emailAddress?: string; + /** Whether all incoming mail is automatically forwarded to another address. */ + enabled?: boolean; + }; + type BatchDeleteMessagesRequest = { + /** The IDs of the messages to delete. */ + ids?: Array; + }; + type BatchModifyMessagesRequest = { + /** A list of Classification Label values to add. If a Classification Label with the same label ID is already applied to the message, fields with existing field IDs will be updated and fields with new field IDs will be added. There's a limit of 20 Classification Label values per request. If the message is already classified and the final total number of Classification Label values exceeds the maximum allowed number of Classification Label values per message, the modification fails. */ + addClassificationLabels?: Array; + /** A list of label IDs to add to messages. */ + addLabelIds?: Array; + /** The IDs of the messages to modify. There is a limit of 1000 ids per request. */ + ids?: Array; + /** A list of Classification Label values to remove from messages. */ + removeClassificationLabelIds?: Array; + /** A list of label IDs to remove from messages. */ + removeLabelIds?: Array; + }; + /** Field values for a classification label. */ + type ClassificationLabelFieldValue = { + /** Required. The field ID for the Classification Label Value. Maps to the ID field of the Google Drive `Label.Field` object. */ + fieldId?: string; + /** Selection choice ID for the selection option. Should only be set if the field type is `SELECTION` in the Google Drive `Label.Field` object. Maps to the id field of the Google Drive `Label.Field.SelectionOptions` resource. */ + selection?: string; + }; + /** Classification Labels applied to the email message. Classification Labels are different from Gmail inbox labels. Only used for Google Workspace accounts. [Learn more about classification labels](https://support.google.com/a/answer/9292382). */ + type ClassificationLabelValue = { + /** Field values for the given classification label ID. */ + fields?: Array; + /** Required. The canonical or raw alphanumeric classification label ID. Maps to the ID field of the Google Drive Label resource. */ + labelId?: string; + }; + /** The client-side encryption (CSE) configuration for the email address of an authenticated user. Gmail uses CSE configurations to save drafts of client-side encrypted email messages, and to sign and send encrypted email messages. For administrators managing identities and keypairs for users in their organization, requests require authorization with a [service account](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured. */ + type CseIdentity = { + /** The email address for the sending identity. The email address must be the primary email address of the authenticated user. */ + emailAddress?: string; + /** If a key pair is associated, the ID of the key pair, CseKeyPair. */ + primaryKeyPairId?: string; + /** The configuration of a CSE identity that uses different key pairs for signing and encryption. */ + signAndEncryptKeyPairs?: GoogleGmail.SignAndEncryptKeyPairs; + }; + /** A client-side encryption S/MIME key pair, which is comprised of a public key, its certificate chain, and metadata for its paired private key. Gmail uses the key pair to complete the following tasks: - Sign outgoing client-side encrypted messages. - Save and reopen drafts of client-side encrypted messages. - Save and reopen sent messages. - Decrypt incoming or archived S/MIME messages. For administrators managing identities and keypairs for users in their organization, requests require authorization with a [service account](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured. */ + type CseKeyPair = { + /** Output only. If a key pair is set to `DISABLED`, the time that the key pair's state changed from `ENABLED` to `DISABLED`. This field is present only when the key pair is in state `DISABLED`. */ + disableTime?: string; + /** Output only. The current state of the key pair. */ + enablementState?: "stateUnspecified" | "enabled" | "disabled"; + /** Output only. The immutable ID for the client-side encryption S/MIME key pair. */ + keyPairId?: string; + /** Output only. The public key and its certificate chain, in [PEM](https://en.wikipedia.org/wiki/Privacy-Enhanced_Mail) format. */ + pem?: string; + /** Input only. The public key and its certificate chain. The chain must be in [PKCS#7](https://en.wikipedia.org/wiki/PKCS_7) format and use PEM encoding and ASCII armor. */ + pkcs7?: string; + /** Metadata for instances of this key pair's private key. */ + privateKeyMetadata?: Array; + /** Output only. The email address identities that are specified on the leaf certificate. */ + subjectEmailAddresses?: Array; + }; + /** Metadata for a private key instance. */ + type CsePrivateKeyMetadata = { + /** Metadata for hardware keys. */ + hardwareKeyMetadata?: GoogleGmail.HardwareKeyMetadata; + /** Metadata for a private key instance managed by an external key access control list service. */ + kaclsKeyMetadata?: GoogleGmail.KaclsKeyMetadata; + /** Output only. The immutable ID for the private key metadata instance. */ + privateKeyMetadataId?: string; + }; + /** Settings for a delegate. Delegates can read, send, and delete messages, as well as view and add contacts, for the delegator's account. See "Set up mail delegation" for more information about delegates. */ + type Delegate = { + /** The email address of the delegate. */ + delegateEmail?: string; + /** Indicates whether this address has been verified and can act as a delegate for the account. Read-only. */ + verificationStatus?: "verificationStatusUnspecified" | "accepted" | "pending" | "rejected" | "expired"; + }; + /** Requests to turn off a client-side encryption key pair. */ + type DisableCseKeyPairRequest = Record; + /** A draft email in the user's mailbox. */ + type Draft = { + /** The immutable ID of the draft. */ + id?: string; + /** The message content of the draft. */ + message?: GoogleGmail.Message; + }; + /** Requests to turn on a client-side encryption key pair. */ + type EnableCseKeyPairRequest = Record; + /** Resource definition for Gmail filters. Filters apply to specific messages instead of an entire email thread. */ + type Filter = { + /** Action that the filter performs. */ + action?: GoogleGmail.FilterAction; + /** Matching criteria for the filter. */ + criteria?: GoogleGmail.FilterCriteria; + /** The server assigned ID of the filter. */ + id?: string; + }; + /** A set of actions to perform on a message. */ + type FilterAction = { + /** List of labels to add to the message. */ + addLabelIds?: Array; + /** Email address that the message should be forwarded to. This effectively redirects the message to the address specified in this field, maintaining the original sender in the "From" field. */ + forward?: string; + /** List of labels to remove from the message. */ + removeLabelIds?: Array; + }; + /** Message matching criteria. */ + type FilterCriteria = { + /** Whether the response should exclude chats. */ + excludeChats?: boolean; + /** The sender's display name or email address. */ + from?: string; + /** Whether the message has any attachment. */ + hasAttachment?: boolean; + /** Only return messages not matching the specified query. Supports the same query format as the Gmail search box. For example, `"from:someuser@example.com rfc822msgid: is:unread"`. */ + negatedQuery?: string; + /** Only return messages matching the specified query. Supports the same query format as the Gmail search box. For example, `"from:someuser@example.com rfc822msgid: is:unread"`. */ + query?: string; + /** The size of the entire RFC822 message in bytes, including all headers and attachments. */ + size?: number; + /** How the message size in bytes should be in relation to the size field. */ + sizeComparison?: "unspecified" | "smaller" | "larger"; + /** Case-insensitive phrase found in the message's subject. Trailing and leading whitespace are be trimmed and adjacent spaces are collapsed. */ + subject?: string; + /** The recipient's display name or email address. Includes recipients in the "to", "cc", and "bcc" header fields. You can use simply the local part of the email address. For example, "example" and "example@" both match "example@gmail.com". This field is case-insensitive. */ + to?: string; + }; + /** Settings for a forwarding address. */ + type ForwardingAddress = { + /** An email address to which messages can be forwarded. */ + forwardingEmail?: string; + /** Indicates whether this address has been verified and is usable for forwarding. Read-only. */ + verificationStatus?: "verificationStatusUnspecified" | "accepted" | "pending"; + }; + /** Metadata for hardware keys. If [hardware key encryption](https://support.google.com/a/answer/14153163) is set up for the Google Workspace organization, users can optionally store their private key on their smart card and use it to sign and decrypt email messages in Gmail by inserting their smart card into a reader attached to their Windows device. */ + type HardwareKeyMetadata = { + /** Description about the hardware key. */ + description?: string; + }; + /** A record of a change to the user's mailbox. Each history change may affect multiple messages in multiple ways. */ + type History = { + /** The mailbox sequence ID. */ + id?: string; + /** Labels added to messages in this history record. */ + labelsAdded?: Array; + /** Labels removed from messages in this history record. */ + labelsRemoved?: Array; + /** List of messages changed in this history record. The fields for specific change types, such as `messagesAdded` may duplicate messages in this field. We recommend using the specific change-type fields instead of this. */ + messages?: Array; + /** Messages added to the mailbox in this history record. */ + messagesAdded?: Array; + /** Messages deleted (not Trashed) from the mailbox in this history record. */ + messagesDeleted?: Array; + }; + type HistoryLabelAdded = { + /** Label IDs added to the message. */ + labelIds?: Array; + message?: GoogleGmail.Message; + }; + type HistoryLabelRemoved = { + /** Label IDs removed from the message. */ + labelIds?: Array; + message?: GoogleGmail.Message; + }; + type HistoryMessageAdded = { + message?: GoogleGmail.Message; + }; + type HistoryMessageDeleted = { + message?: GoogleGmail.Message; + }; + /** IMAP settings for an account. */ + type ImapSettings = { + /** If this value is true, Gmail will immediately expunge a message when it is marked as deleted in IMAP. Otherwise, Gmail will wait for an update from the client before expunging messages marked as deleted. */ + autoExpunge?: boolean; + /** Whether IMAP is enabled for the account. */ + enabled?: boolean; + /** The action that will be executed on a message when it is marked as deleted and expunged from the last visible IMAP folder. */ + expungeBehavior?: "expungeBehaviorUnspecified" | "archive" | "trash" | "deleteForever"; + /** An optional limit on the number of messages that an IMAP folder may contain. Legal values are 0, 1000, 2000, 5000 or 10000. A value of zero is interpreted to mean that there is no limit. */ + maxFolderSize?: number; + }; + /** Metadata for private keys managed by an external key access control list service. For details about managing key access, see [Google Workspace CSE API Reference](https://developers.google.com/workspace/cse/reference). */ + type KaclsKeyMetadata = { + /** Opaque data generated and used by the key access control list service. Maximum size: 8 KiB. */ + kaclsData?: string; + /** The URI of the key access control list service that manages the private key. */ + kaclsUri?: string; + }; + /** Labels are used to categorize messages and threads within the user's mailbox. The maximum number of labels supported for a user's mailbox is 10,000. */ + type Label = { + /** The color to assign to the label. Color is only available for labels that have their `type` set to `user`. */ + color?: GoogleGmail.LabelColor; + /** The immutable ID of the label. */ + id?: string; + /** The visibility of the label in the label list in the Gmail web interface. */ + labelListVisibility?: "labelShow" | "labelShowIfUnread" | "labelHide"; + /** The visibility of messages with this label in the message list in the Gmail web interface. */ + messageListVisibility?: "show" | "hide"; + /** The total number of messages with the label. */ + messagesTotal?: number; + /** The number of unread messages with the label. */ + messagesUnread?: number; + /** The display name of the label. */ + name?: string; + /** The total number of threads with the label. */ + threadsTotal?: number; + /** The number of unread threads with the label. */ + threadsUnread?: number; + /** The owner type for the label. User labels are created by the user and can be modified and deleted by the user and can be applied to any message or thread. System labels are internally created and cannot be added, modified, or deleted. System labels may be able to be applied to or removed from messages and threads under some circumstances but this is not guaranteed. For example, users can apply and remove the `INBOX` and `UNREAD` labels from messages and threads, but cannot apply or remove the `DRAFTS` or `SENT` labels from messages or threads. */ + type?: "system" | "user"; + }; + type LabelColor = { + /** The background color represented as hex string #RRGGBB (ex #000000). This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 */ + backgroundColor?: string; + /** The text color of the label, represented as hex string. This field is required in order to set the color of a label. Only the following predefined set of color values are allowed: \#000000, #434343, #666666, #999999, #cccccc, #efefef, #f3f3f3, #ffffff, \#fb4c2f, #ffad47, #fad165, #16a766, #43d692, #4a86e8, #a479e2, #f691b3, \#f6c5be, #ffe6c7, #fef1d1, #b9e4d0, #c6f3de, #c9daf8, #e4d7f5, #fcdee8, \#efa093, #ffd6a2, #fce8b3, #89d3b2, #a0eac9, #a4c2f4, #d0bcf1, #fbc8d9, \#e66550, #ffbc6b, #fcda83, #44b984, #68dfa9, #6d9eeb, #b694e8, #f7a7c0, \#cc3a21, #eaa041, #f2c960, #149e60, #3dc789, #3c78d8, #8e63ce, #e07798, \#ac2b16, #cf8933, #d5ae49, #0b804b, #2a9c68, #285bac, #653e9b, #b65775, \#822111, #a46a21, #aa8831, #076239, #1a764d, #1c4587, #41236d, #83334c, \#464646, #e7e7e7, #0d3472, #b6cff5, #0d3b44, #98d7e4, #3d188e, #e3d7ff, \#711a36, #fbd3e0, #8a1c0a, #f2b2a8, #7a2e0b, #ffc8af, #7a4706, #ffdeb5, \#594c05, #fbe983, #684e07, #fdedc1, #0b4f30, #b3efd3, #04502e, #a2dcc1, \#c2c2c2, #4986e7, #2da2bb, #b99aff, #994a64, #f691b2, #ff7537, #ffad46, \#662e37, #ebdbde, #cca6ac, #094228, #42d692, #16a765, #757575, #1e53b8, \#007286, #7858c3, #c2185b, #d93025, #54240e, #633e04, #521d28, #202124, \#083018 */ + textColor?: string; + }; + /** Language settings for an account. These settings correspond to the "Language settings" feature in the web interface. */ + type LanguageSettings = { + /** The language to display Gmail in, formatted as an RFC 3066 Language Tag (for example `en-GB`, `fr` or `ja` for British English, French, or Japanese respectively). The set of languages supported by Gmail evolves over time, so please refer to the "Language" dropdown in the Gmail settings for all available options, as described in the language settings help article. For a table of sample values, see [Manage language settings](https://developers.google.com/workspace/gmail/api/guides/language-settings). Not all Gmail clients can display the same set of languages. In the case that a user's display language is not available for use on a particular client, said client automatically chooses to display in the closest supported variant (or a reasonable default). */ + displayLanguage?: string; + }; + type ListCseIdentitiesResponse = { + /** One page of the list of CSE identities configured for the user. */ + cseIdentities?: Array; + /** Pagination token to be passed to a subsequent ListCseIdentities call in order to retrieve the next page of identities. If this value is not returned or is the empty string, then no further pages remain. */ + nextPageToken?: string; + }; + type ListCseKeyPairsResponse = { + /** One page of the list of CSE key pairs installed for the user. */ + cseKeyPairs?: Array; + /** Pagination token to be passed to a subsequent ListCseKeyPairs call in order to retrieve the next page of key pairs. If this value is not returned, then no further pages remain. */ + nextPageToken?: string; + }; + /** Response for the ListDelegates method. */ + type ListDelegatesResponse = { + /** List of the user's delegates (with any verification status). If an account doesn't have delegates, this field doesn't appear. */ + delegates?: Array; + }; + type ListDraftsResponse = { + /** List of drafts. Note that the `Message` property in each `Draft` resource only contains an `id` and a `threadId`. The [`messages.get`](https://developers.google.com/workspace/gmail/api/v1/reference/users/messages/get) method can fetch additional message details. */ + drafts?: Array; + /** Token to retrieve the next page of results in the list. */ + nextPageToken?: string; + /** Estimated total number of results. */ + resultSizeEstimate?: number; + }; + /** Response for the ListFilters method. */ + type ListFiltersResponse = { + /** List of a user's filters. */ + filter?: Array; + }; + /** Response for the ListForwardingAddresses method. */ + type ListForwardingAddressesResponse = { + /** List of addresses that may be used for forwarding. */ + forwardingAddresses?: Array; + }; + type ListHistoryResponse = { + /** List of history records. Any `messages` contained in the response will typically only have `id` and `threadId` fields populated. */ + history?: Array; + /** The ID of the mailbox's current history record. */ + historyId?: string; + /** Page token to retrieve the next page of results in the list. */ + nextPageToken?: string; + }; + type ListLabelsResponse = { + /** List of labels. Note that each label resource only contains an `id`, `name`, `messageListVisibility`, `labelListVisibility`, and `type`. The [`labels.get`](https://developers.google.com/workspace/gmail/api/v1/reference/users/labels/get) method can fetch additional label details. */ + labels?: Array; + }; + type ListMessagesResponse = { + /** List of messages. Note that each message resource contains only an `id` and a `threadId`. Additional message details can be fetched using the messages.get method. */ + messages?: Array; + /** Token to retrieve the next page of results in the list. */ + nextPageToken?: string; + /** Estimated total number of results. */ + resultSizeEstimate?: number; + }; + /** Response for the ListSendAs method. */ + type ListSendAsResponse = { + /** List of send-as aliases. */ + sendAs?: Array; + }; + type ListSmimeInfoResponse = { + /** List of SmimeInfo. */ + smimeInfo?: Array; + }; + type ListThreadsResponse = { + /** Page token to retrieve the next page of results in the list. */ + nextPageToken?: string; + /** Estimated total number of results. */ + resultSizeEstimate?: number; + /** List of threads. Note that each thread resource does not contain a list of `messages`. The list of `messages` for a given thread can be fetched using the [`threads.get`](https://developers.google.com/workspace/gmail/api/v1/reference/users/threads/get) method. */ + threads?: Array; + }; + /** An email message. */ + type Message = { + /** Classification Label values on the message. Available Classification Label schemas can be queried using the Google Drive Labels API. Each classification label ID must be unique. If duplicate IDs are provided, only one will be retained, and the selection is arbitrary. Only used for Google Workspace accounts. There's a limit of 20 Classification Label values per request. If the Classification Label values exceeds the maximum allowed number, the request fails. */ + classificationLabelValues?: Array; + /** The ID of the last history record that modified this message. */ + historyId?: string; + /** The immutable ID of the message. */ + id?: string; + /** The internal message creation timestamp (epoch ms), which determines ordering in the inbox. For normal SMTP-received email, this represents the time the message was originally accepted by Google, which is more reliable than the `Date` header. However, for API-migrated mail, it can be configured by client to be based on the `Date` header. */ + internalDate?: string; + /** List of IDs of labels applied to this message. */ + labelIds?: Array; + /** The parsed email structure in the message parts. */ + payload?: GoogleGmail.MessagePart; + /** The entire email message in an RFC 2822 formatted and base64url encoded string. Returned in `messages.get` and `drafts.get` responses when the `format=RAW` parameter is supplied. @required gmail.users.drafts.create gmail.users.drafts.update */ + raw?: string; + /** Estimated size in bytes of the message. */ + sizeEstimate?: number; + /** A short part of the message text. */ + snippet?: string; + /** The ID of the thread the message belongs to. To add a message or draft to a thread, the following criteria must be met: 1. The requested `threadId` must be specified on the `Message` or `Draft.Message` you supply with your request. 2. The `References` and `In-Reply-To` headers must be set in compliance with the [RFC 2822](https://tools.ietf.org/html/rfc2822) standard. 3. The `Subject` headers must match. */ + threadId?: string; + }; + /** A single MIME message part. */ + type MessagePart = { + /** The message part body for this part, which may be empty for container MIME message parts. */ + body?: GoogleGmail.MessagePartBody; + /** The filename of the attachment. Only present if this message part represents an attachment. */ + filename?: string; + /** List of headers on this message part. For the top-level message part, representing the entire message payload, it will contain the standard RFC 2822 email headers such as `To`, `From`, and `Subject`. */ + headers?: Array; + /** The MIME type of the message part. */ + mimeType?: string; + /** The immutable ID of the message part. */ + partId?: string; + /** The child MIME message parts of this part. This only applies to container MIME message parts, for example `multipart/*`. For non- container MIME message part types, such as `text/plain`, this field is empty. For more information, see RFC 1521. */ + parts?: Array; + }; + /** The body of a single MIME message part. */ + type MessagePartBody = { + /** When present, contains the ID of an external attachment that can be retrieved in a separate `messages.attachments.get` request. When not present, the entire content of the message part body is contained in the data field. */ + attachmentId?: string; + /** The body data of a MIME message part as a base64url encoded string. May be empty for MIME container types that have no message body or when the body data is sent as a separate attachment. An attachment ID is present if the body data is contained in a separate attachment. */ + data?: string; + /** Number of bytes for the message part data (encoding notwithstanding). */ + size?: number; + }; + type MessagePartHeader = { + /** The name of the header before the `:` separator. For example, `To`. */ + name?: string; + /** The value of the header after the `:` separator. For example, `someuser@example.com`. */ + value?: string; + }; + type ModifyMessageRequest = { + /** A list of classification label values to add. If a Classification Label with the same label ID is already applied to the message, fields with existing field IDs will be updated and fields with new field IDs will be added. There's a limit of 20 Classification Label values per request. If the message is already classified and the final total number of Classification Label values exceeds the maximum allowed number of Classification Label values per message, the modification fails. */ + addClassificationLabels?: Array; + /** A list of IDs of labels to add to this message. You can add up to 100 labels with each update. */ + addLabelIds?: Array; + /** A list of Classification Label values to remove from this message. */ + removeClassificationLabelIds?: Array; + /** A list IDs of labels to remove from this message. You can remove up to 100 labels with each update. */ + removeLabelIds?: Array; + }; + type ModifyThreadRequest = { + /** A list of IDs of labels to add to this thread. You can add up to 100 labels with each update. */ + addLabelIds?: Array; + /** A list of IDs of labels to remove from this thread. You can remove up to 100 labels with each update. */ + removeLabelIds?: Array; + }; + /** Request to obliterate a CSE key pair. */ + type ObliterateCseKeyPairRequest = Record; + /** POP settings for an account. */ + type PopSettings = { + /** The range of messages which are accessible via POP. */ + accessWindow?: "accessWindowUnspecified" | "disabled" | "fromNowOn" | "allMail"; + /** The action that will be executed on a message after it has been fetched via POP. */ + disposition?: "dispositionUnspecified" | "leaveInInbox" | "archive" | "trash" | "markRead"; + }; + /** Profile for a Gmail user. */ + type Profile = { + /** The user's email address. */ + emailAddress?: string; + /** The ID of the mailbox's current history record. */ + historyId?: string; + /** The total number of messages in the mailbox. */ + messagesTotal?: number; + /** The total number of threads in the mailbox. */ + threadsTotal?: number; + }; + /** Settings associated with a send-as alias, which can be either the primary login address associated with the account or a custom "from" address. Send-as aliases correspond to the "Send Mail As" feature in the web interface. The send-as alias must be a valid email address. */ + type SendAs = { + /** A name that appears in the "From:" header for mail sent using this alias. For custom "from" addresses, when this is empty, Gmail will populate the "From:" header with the name that is used for the primary address associated with the account. If the admin has disabled the ability for users to update their name format, requests to update this field for the primary login will silently fail. */ + displayName?: string; + /** Whether this address is selected as the default "From:" address in situations such as composing a new message or sending a vacation auto-reply. Every Gmail account has exactly one default send-as address, so the only legal value that clients may write to this field is `true`. Changing this from `false` to `true` for an address will result in this field becoming `false` for the other previous default address. */ + isDefault?: boolean; + /** Whether this address is the primary address used to login to the account. Every Gmail account has exactly one primary address, and it cannot be deleted from the collection of send-as aliases. This field is read-only. */ + isPrimary?: boolean; + /** An optional email address that is included in a "Reply-To:" header for mail sent using this alias. If this is empty, Gmail will not generate a "Reply-To:" header. */ + replyToAddress?: string; + /** The email address that appears in the "From:" header for mail sent using this alias. This is read-only for all operations except create. */ + sendAsEmail?: string; + /** An optional HTML signature that is included in messages composed with this alias in the Gmail web UI. This signature is added to new emails only. */ + signature?: string; + /** An optional SMTP service that will be used as an outbound relay for mail sent using this alias. If this is empty, outbound mail will be sent directly from Gmail's servers to the destination SMTP service. This setting only applies to custom "from" aliases. */ + smtpMsa?: GoogleGmail.SmtpMsa; + /** Whether Gmail should treat this address as an alias for the user's primary email address. This setting only applies to custom "from" aliases. */ + treatAsAlias?: boolean; + /** Indicates whether this address has been verified for use as a send-as alias. Read-only. This setting only applies to custom "from" aliases. */ + verificationStatus?: "verificationStatusUnspecified" | "accepted" | "pending"; + }; + /** The configuration of a CSE identity that uses different key pairs for signing and encryption. */ + type SignAndEncryptKeyPairs = { + /** The ID of the CseKeyPair that encrypts signed outgoing mail. */ + encryptionKeyPairId?: string; + /** The ID of the CseKeyPair that signs outgoing mail. */ + signingKeyPairId?: string; + }; + /** An S/MIME email config. */ + type SmimeInfo = { + /** Encrypted key password, when key is encrypted. */ + encryptedKeyPassword?: string; + /** When the certificate expires (in milliseconds since epoch). */ + expiration?: string; + /** The immutable ID for the SmimeInfo. */ + id?: string; + /** Whether this SmimeInfo is the default one for this user's send-as address. */ + isDefault?: boolean; + /** The S/MIME certificate issuer's common name. */ + issuerCn?: string; + /** PEM formatted X509 concatenated certificate string (standard base64 encoding). Format used for returning key, which includes public key as well as certificate chain (not private key). */ + pem?: string; + /** PKCS#12 format containing a single private/public key pair and certificate chain. This format is only accepted from client for creating a new SmimeInfo and is never returned, because the private key is not intended to be exported. PKCS#12 may be encrypted, in which case encryptedKeyPassword should be set appropriately. */ + pkcs12?: string; + }; + /** Configuration for communication with an SMTP service. */ + type SmtpMsa = { + /** The hostname of the SMTP service. Required. */ + host?: string; + /** The password that will be used for authentication with the SMTP service. This is a write-only field that can be specified in requests to create or update SendAs settings; it is never populated in responses. */ + password?: string; + /** The port of the SMTP service. Required. */ + port?: number; + /** The protocol that will be used to secure communication with the SMTP service. Required. */ + securityMode?: "securityModeUnspecified" | "none" | "ssl" | "starttls"; + /** The username that will be used for authentication with the SMTP service. This is a write-only field that can be specified in requests to create or update SendAs settings; it is never populated in responses. */ + username?: string; + }; + /** A collection of messages representing a conversation. */ + type Thread = { + /** The ID of the last history record that modified this thread. */ + historyId?: string; + /** The unique ID of the thread. */ + id?: string; + /** The list of messages in the thread. */ + messages?: Array; + /** A short part of the message text. */ + snippet?: string; + }; + /** Vacation auto-reply settings for an account. These settings correspond to the "Vacation responder" feature in the web interface. */ + type VacationSettings = { + /** Flag that controls whether Gmail automatically replies to messages. */ + enableAutoReply?: boolean; + /** An optional end time for sending auto-replies (epoch ms). When this is specified, Gmail will automatically reply only to messages that it receives before the end time. If both `startTime` and `endTime` are specified, `startTime` must precede `endTime`. */ + endTime?: string; + /** Response body in HTML format. Gmail will sanitize the HTML before storing it. If both `response_body_plain_text` and `response_body_html` are specified, `response_body_html` will be used. */ + responseBodyHtml?: string; + /** Response body in plain text format. If both `response_body_plain_text` and `response_body_html` are specified, `response_body_html` will be used. */ + responseBodyPlainText?: string; + /** Optional text to prepend to the subject line in vacation responses. In order to enable auto-replies, either the response subject or the response body must be nonempty. */ + responseSubject?: string; + /** Flag that determines whether responses are sent to recipients who are not in the user's list of contacts. */ + restrictToContacts?: boolean; + /** Flag that determines whether responses are sent to recipients who are outside of the user's domain. This feature is only available for Google Workspace users. */ + restrictToDomain?: boolean; + /** An optional start time for sending auto-replies (epoch ms). When this is specified, Gmail will automatically reply only to messages that it receives after the start time. If both `startTime` and `endTime` are specified, `startTime` must precede `endTime`. */ + startTime?: string; + }; + /** Set up or update a new push notification watch on this user's mailbox. */ + type WatchRequest = { + /** Filtering behavior of `labelIds list` specified. This field is deprecated because it caused incorrect behavior in some cases; use `label_filter_behavior` instead. */ + labelFilterAction?: "include" | "exclude"; + /** Filtering behavior of `labelIds list` specified. This field replaces `label_filter_action`; if set, `label_filter_action` is ignored. */ + labelFilterBehavior?: "include" | "exclude"; + /** List of label_ids to restrict notifications about. By default, if unspecified, all changes are pushed out. If specified then dictates which labels are required for a push notification to be generated. */ + labelIds?: Array; + /** A fully qualified Google Cloud Pub/Sub API topic name to publish the events to. This topic name **must** already exist in Cloud Pub/Sub and you **must** have already granted gmail "publish" permission on it. For example, "projects/my-project-identifier/topics/my-topic-name" (using the Cloud Pub/Sub "v1" topic naming format). Note that the "my-project-identifier" portion must exactly match your Google developer project id (the one executing this watch request). */ + topicName?: string; + }; + /** Push notification watch response. */ + type WatchResponse = { + /** When Gmail will stop sending notifications for mailbox updates (epoch millis). Call `watch` again before this time to renew the watch. */ + expiration?: string; + /** The ID of the mailbox's current history record. */ + historyId?: string; + }; + type UsersGetProfileParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersStopParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersWatchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.WatchRequest; + }; + type UsersDraftsCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.Draft; + }; + type UsersDraftsDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the draft to delete. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersDraftsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The format to return the draft in. */ + format?: "minimal" | "full" | "raw" | "metadata"; + /** The ID of the draft to retrieve. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersDraftsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Include drafts from `SPAM` and `TRASH` in the results. */ + includeSpamTrash?: boolean; + /** Maximum number of drafts to return. This field defaults to 100. The maximum allowed value for this field is 500. */ + maxResults?: number; + /** Page token to retrieve a specific page of results in the list. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Only return draft messages matching the specified query. Supports the same query format as the Gmail search box. For example, `"from:someuser@example.com rfc822msgid: is:unread"`. */ + q?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersDraftsSendParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.Draft; + }; + type UsersDraftsUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the draft to update. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.Draft; + }; + type UsersHistoryListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** History types to be returned by the function */ + historyTypes?: Array<"messageAdded" | "messageDeleted" | "labelAdded" | "labelRemoved">; + /** Only return messages with a label matching the ID. */ + labelId?: string; + /** Maximum number of history records to return. This field defaults to 100. The maximum allowed value for this field is 500. */ + maxResults?: number; + /** Page token to retrieve a specific page of results in the list. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. Returns history records after the specified `startHistoryId`. The supplied `startHistoryId` should be obtained from the `historyId` of a message, thread, or previous `list` response. History IDs increase chronologically but are not contiguous with random gaps in between valid IDs. Supplying an invalid or out of date `startHistoryId` typically returns an `HTTP 404` error code. A `historyId` is typically valid for at least a week, but in some rare circumstances may be valid for only a few hours. If you receive an `HTTP 404` error response, your application should perform a full sync. If you receive no `nextPageToken` in the response, there are no updates to retrieve and you can store the returned `historyId` for a future request. */ + startHistoryId?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersLabelsCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.Label; + }; + type UsersLabelsDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the label to delete. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersLabelsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the label to retrieve. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersLabelsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersLabelsPatchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the label to update. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.Label; + }; + type UsersLabelsUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the label to update. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.Label; + }; + type UsersMessagesBatchDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.BatchDeleteMessagesRequest; + }; + type UsersMessagesBatchModifyParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.BatchModifyMessagesRequest; + }; + type UsersMessagesDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the message to delete. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersMessagesGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The format to return the message in. */ + format?: "minimal" | "full" | "raw" | "metadata"; + /** The ID of the message to retrieve. This ID is usually retrieved using `messages.list`. The ID is also contained in the result when a message is inserted (`messages.insert`) or imported (`messages.import`). */ + id: string; + /** When given and format is `METADATA`, only include headers specified. */ + metadataHeaders?: Array; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersMessagesImportParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Mark the email as permanently deleted (not TRASH) and only visible in Google Vault to a Vault administrator. Only used for Google Workspace accounts. */ + deleted?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Source for Gmail's internal date of the message. */ + internalDateSource?: "receivedTime" | "dateHeader"; + /** Ignore the Gmail spam classifier decision and never mark this email as SPAM in the mailbox. */ + neverMarkSpam?: boolean; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Process calendar invites in the email and add any extracted meetings to the Google Calendar for this user. */ + processForCalendar?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.Message; + }; + type UsersMessagesInsertParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Mark the email as permanently deleted (not TRASH) and only visible in Google Vault to a Vault administrator. Only used for Google Workspace accounts. */ + deleted?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Source for Gmail's internal date of the message. */ + internalDateSource?: "receivedTime" | "dateHeader"; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.Message; + }; + type UsersMessagesListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Include messages from `SPAM` and `TRASH` in the results. */ + includeSpamTrash?: boolean; + /** Only return messages with labels that match all of the specified label IDs. Messages in a thread might have labels that other messages in the same thread don't have. To learn more, see [Manage labels on messages and threads](https://developers.google.com/workspace/gmail/api/guides/labels#manage_labels_on_messages_threads). */ + labelIds?: Array; + /** Maximum number of messages to return. This field defaults to 100. The maximum allowed value for this field is 500. */ + maxResults?: number; + /** Page token to retrieve a specific page of results in the list. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Only return messages matching the specified query. Supports the same query format as the Gmail search box. For example, `"from:someuser@example.com rfc822msgid: is:unread"`. Parameter cannot be used when accessing the api using the gmail.metadata scope. */ + q?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersMessagesModifyParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the message to modify. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.ModifyMessageRequest; + }; + type UsersMessagesSendParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.Message; + }; + type UsersMessagesTrashParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the message to Trash. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersMessagesUntrashParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the message to remove from Trash. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersMessagesAttachmentsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the attachment. */ + id: string; + /** The ID of the message containing the attachment. */ + messageId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsGetAutoForwardingParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsGetImapParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsGetLanguageParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsGetPopParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsGetVacationParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsUpdateAutoForwardingParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.AutoForwarding; + }; + type UsersSettingsUpdateImapParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.ImapSettings; + }; + type UsersSettingsUpdateLanguageParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.LanguageSettings; + }; + type UsersSettingsUpdatePopParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.PopSettings; + }; + type UsersSettingsUpdateVacationParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.VacationSettings; + }; + type UsersSettingsCseIdentitiesCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The requester's primary email address. To indicate the authenticated user, you can use the special value `me`. */ + userId: string; + requestBody?: GoogleGmail.CseIdentity; + }; + type UsersSettingsCseIdentitiesDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The primary email address associated with the client-side encryption identity configuration that's removed. */ + cseEmailAddress: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The requester's primary email address. To indicate the authenticated user, you can use the special value `me`. */ + userId: string; + }; + type UsersSettingsCseIdentitiesGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The primary email address associated with the client-side encryption identity configuration that's retrieved. */ + cseEmailAddress: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The requester's primary email address. To indicate the authenticated user, you can use the special value `me`. */ + userId: string; + }; + type UsersSettingsCseIdentitiesListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The number of identities to return. If not provided, the page size will default to 20 entries. */ + pageSize?: number; + /** Pagination token indicating which page of identities to return. If the token is not supplied, then the API will return the first page of results. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The requester's primary email address. To indicate the authenticated user, you can use the special value `me`. */ + userId: string; + }; + type UsersSettingsCseIdentitiesPatchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The email address of the client-side encryption identity to update. */ + emailAddress: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The requester's primary email address. To indicate the authenticated user, you can use the special value `me`. */ + userId: string; + requestBody?: GoogleGmail.CseIdentity; + }; + type UsersSettingsCseKeypairsCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The type of certificate chain validation to perform at creation. The request will be rejected if the uploaded chain fails to satisfy the requested validation checks. When unspecified, this parameter defaults to `all`. */ + chainValidation?: "all" | "none"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The requester's primary email address. To indicate the authenticated user, you can use the special value `me`. */ + userId: string; + requestBody?: GoogleGmail.CseKeyPair; + }; + type UsersSettingsCseKeypairsDisableParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The identifier of the key pair to turn off. */ + keyPairId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The requester's primary email address. To indicate the authenticated user, you can use the special value `me`. */ + userId: string; + requestBody?: GoogleGmail.DisableCseKeyPairRequest; + }; + type UsersSettingsCseKeypairsEnableParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The identifier of the key pair to turn on. */ + keyPairId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The requester's primary email address. To indicate the authenticated user, you can use the special value `me`. */ + userId: string; + requestBody?: GoogleGmail.EnableCseKeyPairRequest; + }; + type UsersSettingsCseKeypairsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The identifier of the key pair to retrieve. */ + keyPairId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The requester's primary email address. To indicate the authenticated user, you can use the special value `me`. */ + userId: string; + }; + type UsersSettingsCseKeypairsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The number of key pairs to return. If not provided, the page size will default to 20 entries. */ + pageSize?: number; + /** Pagination token indicating which page of key pairs to return. If the token is not supplied, then the API will return the first page of results. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The requester's primary email address. To indicate the authenticated user, you can use the special value `me`. */ + userId: string; + }; + type UsersSettingsCseKeypairsObliterateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The identifier of the key pair to obliterate. */ + keyPairId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The requester's primary email address. To indicate the authenticated user, you can use the special value `me`. */ + userId: string; + requestBody?: GoogleGmail.ObliterateCseKeyPairRequest; + }; + type UsersSettingsDelegatesCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.Delegate; + }; + type UsersSettingsDelegatesDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The email address of the user to be removed as a delegate. */ + delegateEmail: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsDelegatesGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The email address of the user whose delegate relationship is to be retrieved. */ + delegateEmail: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsDelegatesListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsFiltersCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.Filter; + }; + type UsersSettingsFiltersDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the filter to be deleted. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsFiltersGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the filter to be fetched. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsFiltersListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsForwardingAddressesCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.ForwardingAddress; + }; + type UsersSettingsForwardingAddressesDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The forwarding address to be deleted. */ + forwardingEmail: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsForwardingAddressesGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The forwarding address to be retrieved. */ + forwardingEmail: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsForwardingAddressesListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsSendAsCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.SendAs; + }; + type UsersSettingsSendAsDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The send-as alias to be deleted. */ + sendAsEmail: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsSendAsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The send-as alias to be retrieved. */ + sendAsEmail: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsSendAsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsSendAsPatchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The send-as alias to be updated. */ + sendAsEmail: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.SendAs; + }; + type UsersSettingsSendAsUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The send-as alias to be updated. */ + sendAsEmail: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.SendAs; + }; + type UsersSettingsSendAsVerifyParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The send-as alias to be verified. */ + sendAsEmail: string; + /** User's email address. The special value "me" can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsSendAsSmimeInfoDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The immutable ID for the SmimeInfo. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The email address that appears in the "From:" header for mail sent using this alias. */ + sendAsEmail: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsSendAsSmimeInfoGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The immutable ID for the SmimeInfo. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The email address that appears in the "From:" header for mail sent using this alias. */ + sendAsEmail: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsSendAsSmimeInfoInsertParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The email address that appears in the "From:" header for mail sent using this alias. */ + sendAsEmail: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.SmimeInfo; + }; + type UsersSettingsSendAsSmimeInfoListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The email address that appears in the "From:" header for mail sent using this alias. */ + sendAsEmail: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersSettingsSendAsSmimeInfoSetDefaultParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The immutable ID for the SmimeInfo. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The email address that appears in the "From:" header for mail sent using this alias. */ + sendAsEmail: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersThreadsDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** ID of the Thread to delete. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersThreadsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The format to return the messages in. */ + format?: "full" | "metadata" | "minimal"; + /** The ID of the thread to retrieve. */ + id: string; + /** When given and format is METADATA, only include headers specified. */ + metadataHeaders?: Array; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersThreadsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Include threads from `SPAM` and `TRASH` in the results. */ + includeSpamTrash?: boolean; + /** Only return threads with labels that match all of the specified label IDs. */ + labelIds?: Array; + /** Maximum number of threads to return. This field defaults to 100. The maximum allowed value for this field is 500. */ + maxResults?: number; + /** Page token to retrieve a specific page of results in the list. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Only return threads matching the specified query. Supports the same query format as the Gmail search box. For example, `"from:someuser@example.com rfc822msgid: is:unread"`. Parameter cannot be used when accessing the api using the gmail.metadata scope. */ + q?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersThreadsModifyParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the thread to modify. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + requestBody?: GoogleGmail.ModifyThreadRequest; + }; + type UsersThreadsTrashParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the thread to Trash. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type UsersThreadsUntrashParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the thread to remove from Trash. */ + id: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The user's email address. The special value `me` can be used to indicate the authenticated user. */ + userId: string; + }; + type Client = { + users: { + /** Gets the current user's Gmail profile. */ + getProfile(params: UsersGetProfileParams): Promise; + /** Turn off push notification delivery for the given user mailbox. For more information, see [Configure push notifications in Gmail API](https://developers.google.com/workspace/gmail/api/guides/push). */ + stop(params: UsersStopParams): Promise; + /** Set up or update a push notification watch on the given user mailbox. For more information, see [Configure push notifications in Gmail API](https://developers.google.com/workspace/gmail/api/guides/push). */ + watch(params: UsersWatchParams): Promise; + drafts: { + /** Creates a draft with the `DRAFT` label. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts). */ + create(params: UsersDraftsCreateParams): Promise; + /** Immediately and permanently deletes the specified draft. Does not simply trash it. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts). */ + delete(params: UsersDraftsDeleteParams): Promise; + /** Gets the specified draft. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts). */ + get(params: UsersDraftsGetParams): Promise; + /** Lists the drafts in the user's mailbox. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts). */ + list(params: UsersDraftsListParams): Promise; + /** Sends the specified, existing draft to the recipients in the `To`, `Cc`, and `Bcc` headers. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts). */ + send(params: UsersDraftsSendParams): Promise; + /** Replaces a draft's content. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts). */ + update(params: UsersDraftsUpdateParams): Promise; + }; + history: { + /** 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](https://developers.google.com/workspace/gmail/api/guides/sync). */ + list(params: UsersHistoryListParams): Promise; + }; + labels: { + /** Creates a label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels). */ + create(params: UsersLabelsCreateParams): Promise; + /** 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](https://developers.google.com/workspace/gmail/api/guides/labels). */ + delete(params: UsersLabelsDeleteParams): Promise; + /** Gets the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels). */ + get(params: UsersLabelsGetParams): Promise; + /** Lists all labels in the user's mailbox. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels). */ + list(params: UsersLabelsListParams): Promise; + /** Patch the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels). */ + patch(params: UsersLabelsPatchParams): Promise; + /** Updates the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels). */ + update(params: UsersLabelsUpdateParams): Promise; + }; + messages: { + /** Deletes many messages by message ID. Provides no guarantees that messages were not already deleted or even existed at all. */ + batchDelete(params: UsersMessagesBatchDeleteParams): Promise; + /** 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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) to impersonate users with the `https://www.googleapis.com/auth/gmail.modify.restricted` scope. */ + batchModify(params: UsersMessagesBatchModifyParams): Promise; + /** Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer `messages.trash` instead. */ + delete(params: UsersMessagesDeleteParams): Promise; + /** Gets the specified message. */ + get(params: UsersMessagesGetParams): Promise; + /** 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. */ + import(params: UsersMessagesImportParams): Promise; + /** 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](https://developers.google.com/workspace/gmail/api/guides/sending). */ + insert(params: UsersMessagesInsertParams): Promise; + /** Lists the messages in the user's mailbox. For more information, see [List Gmail messages](https://developers.google.com/workspace/gmail/api/guides/list-messages). */ + list(params: UsersMessagesListParams): Promise; + /** 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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) to impersonate users with the `https://www.googleapis.com/auth/gmail.modify.restricted` scope. */ + modify(params: UsersMessagesModifyParams): Promise; + /** Sends the specified message to the recipients in the `To`, `Cc`, and `Bcc` headers. For more information, see [Create and send email messages](https://developers.google.com/workspace/gmail/api/guides/sending). */ + send(params: UsersMessagesSendParams): Promise; + /** Moves the specified message to the trash. */ + trash(params: UsersMessagesTrashParams): Promise; + /** Removes the specified message from the trash. */ + untrash(params: UsersMessagesUntrashParams): Promise; + attachments: { + /** Gets the specified message attachment. */ + get(params: UsersMessagesAttachmentsGetParams): Promise; + }; + }; + settings: { + /** Gets the auto-forwarding setting for the specified account. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). */ + getAutoForwarding(params: UsersSettingsGetAutoForwardingParams): Promise; + /** Gets IMAP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings). */ + getImap(params: UsersSettingsGetImapParams): Promise; + /** Gets language settings. For more information, see [Manage language settings](https://developers.google.com/workspace/gmail/api/guides/language-settings). */ + getLanguage(params: UsersSettingsGetLanguageParams): Promise; + /** Gets POP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings). */ + getPop(params: UsersSettingsGetPopParams): Promise; + /** Gets vacation responder settings. For more information, see [Manage vacation settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/vacation_settings). */ + getVacation(params: UsersSettingsGetVacationParams): Promise; + /** 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](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority. */ + updateAutoForwarding(params: UsersSettingsUpdateAutoForwardingParams): Promise; + /** Updates IMAP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings). */ + updateImap(params: UsersSettingsUpdateImapParams): Promise; + /** Updates language settings. For more information, see [Manage language settings](https://developers.google.com/workspace/gmail/api/guides/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. */ + updateLanguage(params: UsersSettingsUpdateLanguageParams): Promise; + /** Updates POP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings). */ + updatePop(params: UsersSettingsUpdatePopParams): Promise; + /** Updates vacation responder settings. For more information, see [Manage vacation settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/vacation_settings). */ + updateVacation(params: UsersSettingsUpdateVacationParams): Promise; + cse: { + identities: { + /** 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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured. */ + create(params: UsersSettingsCseIdentitiesCreateParams): Promise; + /** 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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured. */ + delete(params: UsersSettingsCseIdentitiesDeleteParams): Promise; + /** 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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured. */ + get(params: UsersSettingsCseIdentitiesGetParams): Promise; + /** 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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured. */ + list(params: UsersSettingsCseIdentitiesListParams): Promise; + /** 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](https://support.google.com/a/answer/7300887). For administrators managing identities and keypairs for users in their organization, requests require authorization with a [service account](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured. */ + patch(params: UsersSettingsCseIdentitiesPatchParams): Promise; + }; + keypairs: { + /** 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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured. */ + create(params: UsersSettingsCseKeypairsCreateParams): Promise; + /** 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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured. */ + disable(params: UsersSettingsCseKeypairsDisableParams): Promise; + /** 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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured. */ + enable(params: UsersSettingsCseKeypairsEnableParams): Promise; + /** 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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured. */ + get(params: UsersSettingsCseKeypairsGetParams): Promise; + /** 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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured. */ + list(params: UsersSettingsCseKeypairsListParams): Promise; + /** 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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured. */ + obliterate(params: UsersSettingsCseKeypairsObliterateParams): Promise; + }; + }; + delegates: { + /** 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](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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. */ + create(params: UsersSettingsDelegatesCreateParams): Promise; + /** 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](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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. */ + delete(params: UsersSettingsDelegatesDeleteParams): Promise; + /** Gets the specified delegate. For more information, see [Manage delegates](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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. */ + get(params: UsersSettingsDelegatesGetParams): Promise; + /** Lists the delegates for the specified account. For more information, see [Manage delegates](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). This method is only available to service account clients that have been delegated domain-wide authority. */ + list(params: UsersSettingsDelegatesListParams): Promise; + }; + filters: { + /** Creates a filter. Note: you can only create a maximum of 1,000 filters. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings). */ + create(params: UsersSettingsFiltersCreateParams): Promise; + /** Immediately and permanently deletes the specified filter. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings). */ + delete(params: UsersSettingsFiltersDeleteParams): Promise; + /** Gets a filter. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings). */ + get(params: UsersSettingsFiltersGetParams): Promise; + /** Lists the message filters of a Gmail user. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings). */ + list(params: UsersSettingsFiltersListParams): Promise; + }; + forwardingAddresses: { + /** 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](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority. */ + create(params: UsersSettingsForwardingAddressesCreateParams): Promise; + /** Deletes the specified forwarding address and revokes any verification that may have been required. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority. */ + delete(params: UsersSettingsForwardingAddressesDeleteParams): Promise; + /** Gets the specified forwarding address. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). */ + get(params: UsersSettingsForwardingAddressesGetParams): Promise; + /** Lists the forwarding addresses for the specified account. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). */ + list(params: UsersSettingsForwardingAddressesListParams): Promise; + }; + sendAs: { + /** 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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority. */ + create(params: UsersSettingsSendAsCreateParams): Promise; + /** 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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority. */ + delete(params: UsersSettingsSendAsDeleteParams): Promise; + /** 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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). */ + get(params: UsersSettingsSendAsGetParams): Promise; + /** 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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). */ + list(params: UsersSettingsSendAsListParams): Promise; + /** Patch the specified send-as alias. For more information, see [Manage aliases and signatures with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). */ + patch(params: UsersSettingsSendAsPatchParams): Promise; + /** 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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). Addresses other than the primary address for the account can only be updated by service account clients that have been delegated domain-wide authority. */ + update(params: UsersSettingsSendAsUpdateParams): Promise; + /** 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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority. */ + verify(params: UsersSettingsSendAsVerifyParams): Promise; + smimeInfo: { + /** Deletes the specified S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs). */ + delete(params: UsersSettingsSendAsSmimeInfoDeleteParams): Promise; + /** Gets the specified S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs). */ + get(params: UsersSettingsSendAsSmimeInfoGetParams): Promise; + /** 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](https://developers.google.com/workspace/gmail/api/guides/smime_certs). */ + insert(params: UsersSettingsSendAsSmimeInfoInsertParams): Promise; + /** Lists S/MIME configs for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs). */ + list(params: UsersSettingsSendAsSmimeInfoListParams): Promise; + /** Sets the default S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs). */ + setDefault(params: UsersSettingsSendAsSmimeInfoSetDefaultParams): Promise; + }; + }; + }; + threads: { + /** 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](https://developers.google.com/workspace/gmail/api/guides/threads). */ + delete(params: UsersThreadsDeleteParams): Promise; + /** Gets the specified thread. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads). */ + get(params: UsersThreadsGetParams): Promise; + /** Lists the threads in the user's mailbox. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads). */ + list(params: UsersThreadsListParams): Promise; + /** Modifies the labels applied to the thread. This applies to all messages in the thread. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads). */ + modify(params: UsersThreadsModifyParams): Promise; + /** 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](https://developers.google.com/workspace/gmail/api/guides/threads). */ + trash(params: UsersThreadsTrashParams): Promise; + /** 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](https://developers.google.com/workspace/gmail/api/guides/threads). */ + untrash(params: UsersThreadsUntrashParams): Promise; + }; + }; + }; +} +declare namespace GoogleCalendar { + type Acl = { + /** ETag of the collection. */ + etag?: string; + /** List of rules on the access control list. */ + items?: Array; + /** Type of the collection ("calendar#acl"). */ + kind?: string; + /** Token used to access the next page of this result. Omitted if no further results are available, in which case nextSyncToken is provided. */ + nextPageToken?: string; + /** Token used at a later point in time to retrieve only the entries that have changed since this result was returned. Omitted if further results are available, in which case nextPageToken is provided. */ + nextSyncToken?: string; + }; + type AclRule = { + /** ETag of the resource. */ + etag?: string; + /** Identifier of the Access Control List (ACL) rule. See Sharing calendars. */ + id?: string; + /** Type of the resource ("calendar#aclRule"). */ + kind?: string; + /** The role assigned to the scope. Possible values are: - "none" - Provides no access. - "freeBusyReader" - Provides read access to free/busy information. - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. - "writerWithoutPrivateAccess" - Provides read and write access to the calendar. Private events will appear to users with writerWithoutPrivateAccess access, but event details will be hidden. - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. Provides read access to the calendar's ACLs. - "owner" - Provides manager access to the calendar. This role has all of the permissions of the writer role with the additional ability to modify access levels of other users. Important: the owner role is different from the calendar's data owner. A calendar has a single data owner, but can have multiple users with owner role. */ + role?: string; + /** The extent to which calendar access is granted by this ACL rule. */ + scope?: { + /** The type of the scope. Possible values are: - "default" - The public scope. This is the default value. - "user" - Limits the scope to a single user. - "group" - Limits the scope to a group. - "domain" - Limits the scope to a domain. Note: The permissions granted to the "default", or public, scope apply to any user, authenticated or not. */ + type?: string; + /** The email address of a user or group, or the name of a domain, depending on the scope type. Omitted for type "default". */ + value?: string; + }; + }; + type Calendar = { + /** Whether this calendar automatically accepts invitations. Only valid for resource calendars. */ + autoAcceptInvitations?: boolean; + /** Conferencing properties for this calendar, for example what types of conferences are allowed. */ + conferenceProperties?: GoogleCalendar.ConferenceProperties; + /** The email of the owner of the calendar. Set only for secondary calendars. Read-only. */ + dataOwner?: string; + /** Description of the calendar. Optional. */ + description?: string; + /** ETag of the resource. */ + etag?: string; + /** Identifier of the calendar. To retrieve IDs call the calendarList.list() method. */ + id?: string; + /** Type of the resource ("calendar#calendar"). */ + kind?: string; + /** Label properties defined on this calendar. If specified, overwrites the existing label properties. If not specified, the label properties remain unchanged. */ + labelProperties?: GoogleCalendar.LabelProperties; + /** Geographic location of the calendar as free-form text. Optional. */ + location?: string; + /** Title of the calendar. */ + summary?: string; + /** The time zone of the calendar. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) Optional. */ + timeZone?: string; + }; + type CalendarList = { + /** ETag of the collection. */ + etag?: string; + /** Calendars that are present on the user's calendar list. */ + items?: Array; + /** Type of the collection ("calendar#calendarList"). */ + kind?: string; + /** Token used to access the next page of this result. Omitted if no further results are available, in which case nextSyncToken is provided. */ + nextPageToken?: string; + /** Token used at a later point in time to retrieve only the entries that have changed since this result was returned. Omitted if further results are available, in which case nextPageToken is provided. */ + nextSyncToken?: string; + }; + type CalendarListEntry = { + /** The effective access role that the authenticated user has on the calendar. Read-only. Possible values are: - "freeBusyReader" - Provides read access to free/busy information. - "reader" - Provides read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. - "writerWithoutPrivateAccess" - Provides read and write access to the calendar. Private events will appear to users with writerWithoutPrivateAccess access, but event details will be hidden. - "writer" - Provides read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. - "owner" - Provides manager access to the calendar. This role has all of the permissions of the writer role with the additional ability to see and modify access levels of other users. Important: the owner role is different from the calendar's data owner. A calendar has a single data owner, but can have multiple users with owner role. */ + accessRole?: string; + /** Whether this calendar automatically accepts invitations. Only valid for resource calendars. Read-only. */ + autoAcceptInvitations?: boolean; + /** The main color of the calendar in the hexadecimal format "#0088aa". This property supersedes the index-based colorId property. To set or change this property, you need to specify colorRgbFormat=true in the parameters of the insert, update and patch methods. Optional. */ + backgroundColor?: string; + /** The color of the calendar. This is an ID referring to an entry in the calendar section of the colors definition (see the colors endpoint). This property is superseded by the backgroundColor and foregroundColor properties and can be ignored when using these properties. Optional. */ + colorId?: string; + /** Conferencing properties for this calendar, for example what types of conferences are allowed. */ + conferenceProperties?: GoogleCalendar.ConferenceProperties; + /** The email of the owner of the calendar. Set only for secondary calendars. Read-only. */ + dataOwner?: string; + /** The default reminders that the authenticated user has for this calendar. */ + defaultReminders?: Array; + /** Whether this calendar list entry has been deleted from the calendar list. Read-only. Optional. The default is False. */ + deleted?: boolean; + /** Description of the calendar. Optional. Read-only. */ + description?: string; + /** ETag of the resource. */ + etag?: string; + /** The foreground color of the calendar in the hexadecimal format "#ffffff". This property supersedes the index-based colorId property. To set or change this property, you need to specify colorRgbFormat=true in the parameters of the insert, update and patch methods. Optional. */ + foregroundColor?: string; + /** Whether the calendar has been hidden from the list. Optional. The attribute is only returned when the calendar is hidden, in which case the value is true. */ + hidden?: boolean; + /** Identifier of the calendar. */ + id?: string; + /** Type of the resource ("calendar#calendarListEntry"). */ + kind?: string; + /** Geographic location of the calendar as free-form text. Optional. Read-only. */ + location?: string; + /** The notifications that the authenticated user is receiving for this calendar. */ + notificationSettings?: { + /** The list of notifications set for this calendar. */ + notifications?: Array; + }; + /** Whether the calendar is the primary calendar of the authenticated user. Read-only. Optional. The default is False. */ + primary?: boolean; + /** Whether the calendar content shows up in the calendar UI. Optional. The default is False. */ + selected?: boolean; + /** Title of the calendar. Read-only. */ + summary?: string; + /** The summary that the authenticated user has set for this calendar. Optional. */ + summaryOverride?: string; + /** The time zone of the calendar. Optional. Read-only. */ + timeZone?: string; + }; + type CalendarNotification = { + /** The method used to deliver the notification. The possible value is: - "email" - Notifications are sent via email. Required when adding a notification. */ + method?: string; + /** The type of notification. Possible values are: - "eventCreation" - Notification sent when a new event is put on the calendar. - "eventChange" - Notification sent when an event is changed. - "eventCancellation" - Notification sent when an event is cancelled. - "eventResponse" - Notification sent when an attendee responds to the event invitation. - "agenda" - An agenda with the events of the day (sent out in the morning). Required when adding a notification. */ + type?: string; + }; + type Channel = { + /** The address where notifications are delivered for this channel. */ + address?: string; + /** Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional. */ + expiration?: string; + /** A UUID or similar unique string that identifies this channel. */ + id?: string; + /** Identifies this as a notification channel used to watch for changes to a resource, which is "api#channel". */ + kind?: string; + /** Additional parameters controlling delivery channel behavior. Optional. */ + params?: Record; + /** A Boolean value to indicate whether payload is wanted. Optional. */ + payload?: boolean; + /** An opaque ID that identifies the resource being watched on this channel. Stable across different API versions. */ + resourceId?: string; + /** A version-specific identifier for the watched resource. */ + resourceUri?: string; + /** An arbitrary string delivered to the target address with each notification delivered over this channel. Optional. */ + token?: string; + /** The type of delivery mechanism used for this channel. Valid values are "web_hook" (or "webhook"). Both values refer to a channel where Http requests are used to deliver messages. */ + type?: string; + }; + type ColorDefinition = { + /** The background color associated with this color definition. */ + background?: string; + /** The foreground color that can be used to write on top of a background with 'background' color. */ + foreground?: string; + }; + type Colors = { + /** A global palette of calendar colors, mapping from the color ID to its definition. A calendarListEntry resource refers to one of these color IDs in its colorId field. Read-only. */ + calendar?: Record; + /** A global palette of event colors, mapping from the color ID to its definition. An event resource may refer to one of these color IDs in its colorId field. Read-only. */ + event?: Record; + /** Type of the resource ("calendar#colors"). */ + kind?: string; + /** Last modification time of the color palette (as a RFC3339 timestamp). Read-only. */ + updated?: string; + }; + type ConferenceData = { + /** The ID of the conference. Can be used by developers to keep track of conferences, should not be displayed to users. The ID value is formed differently for each conference solution type: - eventHangout: ID is not set. (This conference type is deprecated.) - eventNamedHangout: ID is the name of the Hangout. (This conference type is deprecated.) - hangoutsMeet: ID is the 10-letter meeting code, for example aaa-bbbb-ccc. - addOn: ID is defined by the third-party provider. Optional. */ + conferenceId?: string; + /** The conference solution, such as Google Meet. Unset for a conference with a failed create request. Either conferenceSolution and at least one entryPoint, or createRequest is required. */ + conferenceSolution?: GoogleCalendar.ConferenceSolution; + /** A request to generate a new conference and attach it to the event. The data is generated asynchronously. To see whether the data is present check the status field. Either conferenceSolution and at least one entryPoint, or createRequest is required. */ + createRequest?: GoogleCalendar.CreateConferenceRequest; + /** Information about individual conference entry points, such as URLs or phone numbers. All of them must belong to the same conference. Either conferenceSolution and at least one entryPoint, or createRequest is required. */ + entryPoints?: Array; + /** Additional notes (such as instructions from the domain administrator, legal notices) to display to the user. Can contain HTML. The maximum length is 2048 characters. Optional. */ + notes?: string; + /** Additional properties related to a conference. An example would be a solution-specific setting for enabling video streaming. */ + parameters?: GoogleCalendar.ConferenceParameters; + /** The signature of the conference data. Generated on server side. Unset for a conference with a failed create request. Optional for a conference with a pending create request. */ + signature?: string; + }; + type ConferenceParameters = { + /** Additional add-on specific data. */ + addOnParameters?: GoogleCalendar.ConferenceParametersAddOnParameters; + }; + type ConferenceParametersAddOnParameters = { + parameters?: Record; + }; + type ConferenceProperties = { + /** The types of conference solutions that are supported for this calendar. The possible values are: - "eventHangout" - "eventNamedHangout" - "hangoutsMeet" Optional. */ + allowedConferenceSolutionTypes?: Array; + }; + type ConferenceRequestStatus = { + /** The current status of the conference create request. Read-only. The possible values are: - "pending": the conference create request is still being processed. - "success": the conference create request succeeded, the entry points are populated. - "failure": the conference create request failed, there are no entry points. */ + statusCode?: string; + }; + type ConferenceSolution = { + /** The user-visible icon for this solution. */ + iconUri?: string; + /** The key which can uniquely identify the conference solution for this event. */ + key?: GoogleCalendar.ConferenceSolutionKey; + /** The user-visible name of this solution. Not localized. */ + name?: string; + }; + type ConferenceSolutionKey = { + /** The conference solution type. If a client encounters an unfamiliar or empty type, it should still be able to display the entry points. However, it should disallow modifications. The possible values are: - "eventHangout" for Hangouts for consumers (deprecated; existing events may show this conference solution type but new conferences cannot be created) - "eventNamedHangout" for classic Hangouts for Google Workspace users (deprecated; existing events may show this conference solution type but new conferences cannot be created) - "hangoutsMeet" for Google Meet (http://meet.google.com) - "addOn" for 3P conference providers */ + type?: string; + }; + type CreateConferenceRequest = { + /** The conference solution, such as Hangouts or Google Meet. */ + conferenceSolutionKey?: GoogleCalendar.ConferenceSolutionKey; + /** The client-generated unique ID for this request. Clients should regenerate this ID for every new request. If an ID provided is the same as for the previous request, the request is ignored. */ + requestId?: string; + /** The status of the conference create request. */ + status?: GoogleCalendar.ConferenceRequestStatus; + }; + type EntryPoint = { + /** The access code to access the conference. The maximum length is 128 characters. When creating new conference data, populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that match the terminology that the conference provider uses. Only the populated fields should be displayed. Optional. */ + accessCode?: string; + /** Features of the entry point, such as being toll or toll-free. One entry point can have multiple features. However, toll and toll-free cannot be both set on the same entry point. */ + entryPointFeatures?: Array; + /** The type of the conference entry point. Possible values are: - "video" - joining a conference over HTTP. A conference can have zero or one video entry point. - "phone" - joining a conference by dialing a phone number. A conference can have zero or more phone entry points. - "sip" - joining a conference over SIP. A conference can have zero or one sip entry point. - "more" - further conference joining instructions, for example additional phone numbers. A conference can have zero or one more entry point. A conference with only a more entry point is not a valid conference. */ + entryPointType?: string; + /** The label for the URI. Visible to end users. Not localized. The maximum length is 512 characters. Examples: - for video: meet.google.com/aaa-bbbb-ccc - for phone: +1 123 268 2601 - for sip: 12345678@altostrat.com - for more: should not be filled Optional. */ + label?: string; + /** The meeting code to access the conference. The maximum length is 128 characters. When creating new conference data, populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that match the terminology that the conference provider uses. Only the populated fields should be displayed. Optional. */ + meetingCode?: string; + /** The passcode to access the conference. The maximum length is 128 characters. When creating new conference data, populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that match the terminology that the conference provider uses. Only the populated fields should be displayed. */ + passcode?: string; + /** The password to access the conference. The maximum length is 128 characters. When creating new conference data, populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that match the terminology that the conference provider uses. Only the populated fields should be displayed. Optional. */ + password?: string; + /** The PIN to access the conference. The maximum length is 128 characters. When creating new conference data, populate only the subset of {meetingCode, accessCode, passcode, password, pin} fields that match the terminology that the conference provider uses. Only the populated fields should be displayed. Optional. */ + pin?: string; + /** The CLDR/ISO 3166 region code for the country associated with this phone access. Example: "SE" for Sweden. Calendar backend will populate this field only for EntryPointType.PHONE. */ + regionCode?: string; + /** The URI of the entry point. The maximum length is 1300 characters. Format: - for video, http: or https: schema is required. - for phone, tel: schema is required. The URI should include the entire dial sequence (e.g., tel:+12345678900,,,123456789;1234). - for sip, sip: schema is required, e.g., sip:12345678@myprovider.com. - for more, http: or https: schema is required. */ + uri?: string; + }; + type Error = { + /** Domain, or broad category, of the error. */ + domain?: string; + /** Specific reason for the error. Some of the possible values are: - "groupTooBig" - The group of users requested is too large for a single query. - "tooManyCalendarsRequested" - The number of calendars requested is too large for a single query. - "notFound" - The requested resource was not found. - "internalError" - The API service has encountered an internal error. Additional error types may be added in the future, so clients should gracefully handle additional error statuses not included in this list. */ + reason?: string; + }; + type Event = { + /** Whether anyone can invite themselves to the event (deprecated). Optional. The default is False. */ + anyoneCanAddSelf?: boolean; + /** File attachments for the event. In order to modify attachments the supportsAttachments request parameter should be set to true. There can be at most 25 attachments per event, */ + attachments?: Array; + /** The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users. Service accounts need to use domain-wide delegation of authority to populate the attendee list. */ + attendees?: Array; + /** Whether attendees may have been omitted from the event's representation. When retrieving an event, this may be due to a restriction specified by the maxAttendee query parameter. When updating an event, this can be used to only update the participant's response. Optional. The default is False. */ + attendeesOmitted?: boolean; + /** Birthday or special event data. Used if eventType is "birthday". Immutable. */ + birthdayProperties?: GoogleCalendar.EventBirthdayProperties; + /** The color of the event. This is an ID referring to an entry in the event section of the colors definition (see the colors endpoint). Optional. */ + colorId?: string; + /** The conference-related information, such as details of a Google Meet conference. To create new conference details use the createRequest field. To persist your changes, remember to set the conferenceDataVersion request parameter to 1 for all event modification requests. Warning: Reusing Google Meet conference data across different events can cause access issues and expose meeting details to unintended users. To help ensure meeting privacy, always generate a unique conference for each event by using the createRequest field. */ + conferenceData?: GoogleCalendar.ConferenceData; + /** Creation time of the event (as a RFC3339 timestamp). Read-only. */ + created?: string; + /** The creator of the event. Read-only. */ + creator?: { + /** The creator's name, if available. */ + displayName?: string; + /** The creator's email address, if available. */ + email?: string; + /** The creator's Profile ID, if available. */ + id?: string; + /** Whether the creator corresponds to the calendar on which this copy of the event appears. Read-only. The default is False. */ + self?: boolean; + }; + /** Description of the event. Can contain HTML. Optional. */ + description?: string; + /** The (exclusive) end time of the event. For a recurring event, this is the end time of the first instance. */ + end?: GoogleCalendar.EventDateTime; + /** Whether the end time is actually unspecified. An end time is still provided for compatibility reasons, even if this attribute is set to True. The default is False. */ + endTimeUnspecified?: boolean; + /** ETag of the resource. */ + etag?: string; + /** The ID of the event label assigned to the event. Optional. This refers to the ID of an entry in the labelProperties.eventLabels property of the calendar (see the Calendars.get endpoint.) This property supersedes the index-based colorId property. To set or change this property, you need to specify eventLabelVersion=1 in the parameters of the insert, import, update, and patch methods. Setting an empty string, or not setting this field at all, will remove the existing label from the event. */ + eventLabelId?: string; + /** Specific type of the event. This cannot be modified after the event is created. Possible values are: - "birthday" - A special all-day event with an annual recurrence. - "default" - A regular event or not further specified. - "focusTime" - A focus-time event. - "fromGmail" - An event from Gmail. This type of event cannot be created. - "outOfOffice" - An out-of-office event. - "workingLocation" - A working location event. */ + eventType?: string; + /** Extended properties of the event. */ + extendedProperties?: { + /** Properties that are private to the copy of the event that appears on this calendar. */ + private?: Record; + /** Properties that are shared between copies of the event on other attendees' calendars. */ + shared?: Record; + }; + /** Focus Time event data. Used if eventType is focusTime. */ + focusTimeProperties?: GoogleCalendar.EventFocusTimeProperties; + /** A gadget that extends this event. Gadgets are deprecated; this structure is instead only used for returning birthday calendar metadata. */ + gadget?: { + /** The gadget's display mode. Deprecated. Possible values are: - "icon" - The gadget displays next to the event's title in the calendar view. - "chip" - The gadget displays when the event is clicked. */ + display?: string; + /** The gadget's height in pixels. The height must be an integer greater than 0. Optional. Deprecated. */ + height?: number; + /** The gadget's icon URL. The URL scheme must be HTTPS. Deprecated. */ + iconLink?: string; + /** The gadget's URL. The URL scheme must be HTTPS. Deprecated. */ + link?: string; + /** Preferences. */ + preferences?: Record; + /** The gadget's title. Deprecated. */ + title?: string; + /** The gadget's type. Deprecated. */ + type?: string; + /** The gadget's width in pixels. The width must be an integer greater than 0. Optional. Deprecated. */ + width?: number; + }; + /** Whether attendees other than the organizer can invite others to the event. Optional. The default is True. */ + guestsCanInviteOthers?: boolean; + /** Whether attendees other than the organizer can modify the event. Optional. The default is False. */ + guestsCanModify?: boolean; + /** Whether attendees other than the organizer can see who the event's attendees are. Optional. The default is True. */ + guestsCanSeeOtherGuests?: boolean; + /** An absolute link to the Google Hangout associated with this event. Read-only. */ + hangoutLink?: string; + /** An absolute link to this event in the Google Calendar Web UI. Read-only. */ + htmlLink?: string; + /** Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method. Note that the iCalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same iCalUIDs. To retrieve an event using its iCalUID, call the events.list method using the iCalUID parameter. To retrieve an event using its id, call the events.get method. */ + iCalUID?: string; + /** Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: - characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 - the length of the ID must be between 5 and 1024 characters - the ID must be unique per calendar Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122. If you do not specify an ID, it will be automatically generated by the server. Note that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs. */ + id?: string; + /** Type of the resource ("calendar#event"). */ + kind?: string; + /** Geographic location of the event as free-form text. Optional. */ + location?: string; + /** Whether this is a locked event copy where no changes can be made to the main event fields "summary", "description", "location", "start", "end" or "recurrence". The default is False. Read-Only. */ + locked?: boolean; + /** The organizer of the event. If the organizer is also an attendee, this is indicated with a separate entry in attendees with the organizer field set to True. To change the organizer, use the move operation. Read-only, except when importing an event. */ + organizer?: { + /** The organizer's name, if available. */ + displayName?: string; + /** The organizer's email address, if available. It must be a valid email address as per RFC5322. */ + email?: string; + /** The organizer's Profile ID, if available. */ + id?: string; + /** Whether the organizer corresponds to the calendar on which this copy of the event appears. Read-only. The default is False. */ + self?: boolean; + }; + /** For an instance of a recurring event, this is the time at which this event would start according to the recurrence data in the recurring event identified by recurringEventId. It uniquely identifies the instance within the recurring event series even if the instance was moved to a different time. Immutable. */ + originalStartTime?: GoogleCalendar.EventDateTime; + /** Out of office event data. Used if eventType is outOfOffice. */ + outOfOfficeProperties?: GoogleCalendar.EventOutOfOfficeProperties; + /** If set to True, Event propagation is disabled. Note that it is not the same thing as Private event properties. Optional. Immutable. The default is False. */ + privateCopy?: boolean; + /** List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as specified in RFC5545. Note that DTSTART and DTEND lines are not allowed in this field; event start and end times are specified in the start and end fields. This field is omitted for single events or instances of recurring events. */ + recurrence?: Array; + /** For an instance of a recurring event, this is the id of the recurring event to which this instance belongs. Immutable. */ + recurringEventId?: string; + /** Information about the event's reminders for the authenticated user. Note that changing reminders does not also change the updated property of the enclosing event. */ + reminders?: { + /** If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event. The maximum number of override reminders is 5. */ + overrides?: Array; + /** Whether the default reminders of the calendar apply to the event. */ + useDefault?: boolean; + }; + /** Sequence number as per iCalendar. */ + sequence?: number; + /** Source from which the event was created. For example, a web page, an email message or any document identifiable by an URL with HTTP or HTTPS scheme. Can only be seen or modified by the creator of the event. */ + source?: { + /** Title of the source; for example a title of a web page or an email subject. */ + title?: string; + /** URL of the source pointing to a resource. The URL scheme must be HTTP or HTTPS. */ + url?: string; + }; + /** The (inclusive) start time of the event. For a recurring event, this is the start time of the first instance. */ + start?: GoogleCalendar.EventDateTime; + /** Status of the event. Optional. Possible values are: - "confirmed" - The event is confirmed. This is the default status. - "tentative" - The event is tentatively confirmed. - "cancelled" - The event is cancelled (deleted). The list method returns cancelled events only on incremental sync (when syncToken or updatedMin are specified) or if the showDeleted flag is set to true. The get method always returns them. A cancelled status represents two different states depending on the event type: - Cancelled exceptions of an uncancelled recurring event indicate that this instance should no longer be presented to the user. Clients should store these events for the lifetime of the parent recurring event. Cancelled exceptions are only guaranteed to have values for the id, recurringEventId and originalStartTime fields populated. The other fields might be empty. - All other cancelled events represent deleted events. Clients should remove their locally synced copies. Such cancelled events will eventually disappear, so do not rely on them being available indefinitely. Deleted events are only guaranteed to have the id field populated. On the organizer's calendar, cancelled events continue to expose event details (summary, location, etc.) so that they can be restored (undeleted). Similarly, the events to which the user was invited and that they manually removed continue to provide details. However, incremental sync requests with showDeleted set to false will not return these details. If an event changes its organizer (for example via the move operation) and the original organizer is not on the attendee list, it will leave behind a cancelled event where only the id field is guaranteed to be populated. */ + status?: string; + /** Title of the event. */ + summary?: string; + /** Whether the event blocks time on the calendar. Optional. Possible values are: - "opaque" - Default value. The event does block time on the calendar. This is equivalent to setting Show me as to Busy in the Calendar UI. - "transparent" - The event does not block time on the calendar. This is equivalent to setting Show me as to Available in the Calendar UI. */ + transparency?: string; + /** Last modification time of the main event data (as a RFC3339 timestamp). Updating event reminders will not cause this to change. Read-only. */ + updated?: string; + /** Visibility of the event. Optional. Possible values are: - "default" - Uses the default visibility for events on the calendar. This is the default value. - "public" - The event is public and event details are visible to all readers of the calendar. - "private" - The event is private and only event attendees may view event details. - "confidential" - The event is private. This value is provided for compatibility reasons. Note on recurring events: Changing the visibility of a single instance of a recurring event can affect all instances of the series. If the new setting is more restrictive (e.g. from public to private), it is applied to all instances. If the new setting is less restrictive (e.g. from private to public), the change is ignored. To make a recurring event less restrictive, you must update the parent recurring event. */ + visibility?: string; + /** Working location event data. */ + workingLocationProperties?: GoogleCalendar.EventWorkingLocationProperties; + }; + type EventAttachment = { + /** ID of the attached file. Read-only. For Google Drive files, this is the ID of the corresponding Files resource entry in the Drive API. */ + fileId?: string; + /** URL link to the attachment. For adding Google Drive file attachments use the same format as in alternateLink property of the Files resource in the Drive API. Required when adding an attachment. */ + fileUrl?: string; + /** URL link to the attachment's icon. This field can only be modified for custom third-party attachments. */ + iconLink?: string; + /** Internet media type (MIME type) of the attachment. */ + mimeType?: string; + /** Attachment title. */ + title?: string; + }; + type EventAttendee = { + /** Number of additional guests. Optional. The default is 0. */ + additionalGuests?: number; + /** If present, indicates the status of an asynchronous operation ongoing for this attendee (e.g. listing of members of large attendee groups). Read-only. The default is to not be present. Possible values are: - "inProgress" - The asynchronous operation is in progress. - (not present) - Otherwise. */ + asyncOperation?: string; + /** The attendee's response comment. Optional. */ + comment?: string; + /** The attendee's name, if available. Optional. */ + displayName?: string; + /** The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322. Required when adding an attendee. */ + email?: string; + /** The attendee's Profile ID, if available. */ + id?: string; + /** Whether this is an optional attendee. Optional. The default is False. */ + optional?: boolean; + /** Whether the attendee is the organizer of the event. Read-only. The default is False. */ + organizer?: boolean; + /** Whether the attendee is a resource. Can only be set when the attendee is added to the event for the first time. Subsequent modifications are ignored. Optional. The default is False. */ + resource?: boolean; + /** The attendee's response status. Possible values are: - "needsAction" - The attendee has not responded to the invitation (recommended for new events). - "declined" - The attendee has declined the invitation. - "tentative" - The attendee has tentatively accepted the invitation. - "accepted" - The attendee has accepted the invitation. Warning: If you add an event using the values declined, tentative, or accepted, attendees with the "Add invitations to my calendar" setting set to "When I respond to invitation in email" or "Only if the sender is known" might have their response reset to needsAction and won't see an event in their calendar unless they change their response in the event invitation email. Furthermore, if more than 200 guests are invited to the event, response status is not propagated to the guests. */ + responseStatus?: string; + /** Whether this entry represents the calendar on which this copy of the event appears. Read-only. The default is False. */ + self?: boolean; + }; + type EventBirthdayProperties = { + /** Resource name of the contact this birthday event is linked to. This can be used to fetch contact details from People API. Format: "people/c12345". Read-only. */ + contact?: string; + /** Custom type label specified for this event. This is populated if birthdayProperties.type is set to "custom". Read-only. */ + customTypeName?: string; + /** Type of birthday or special event. Possible values are: - "anniversary" - An anniversary other than birthday. Always has a contact. - "birthday" - A birthday event. This is the default value. - "custom" - A special date whose label is further specified in the customTypeName field. Always has a contact. - "other" - A special date which does not fall into the other categories, and does not have a custom label. Always has a contact. - "self" - Calendar owner's own birthday. Cannot have a contact. The Calendar API only supports creating events with the type "birthday". The type cannot be changed after the event is created. */ + type?: string; + }; + type EventDateTime = { + /** The date, in the format "yyyy-mm-dd", if this is an all-day event. */ + date?: string; + /** The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in timeZone. */ + dateTime?: string; + /** The time zone in which the time is specified. (Formatted as an IANA Time Zone Database name, e.g. "Europe/Zurich".) For recurring events this field is required and specifies the time zone in which the recurrence is expanded. For single events this field is optional and indicates a custom time zone for the event start/end. */ + timeZone?: string; + }; + type EventFocusTimeProperties = { + /** Whether to decline meeting invitations which overlap Focus Time events. Valid values are declineNone, meaning that no meeting invitations are declined; declineAllConflictingInvitations, meaning that all conflicting meeting invitations that conflict with the event are declined; and declineOnlyNewConflictingInvitations, meaning that only new conflicting meeting invitations which arrive while the Focus Time event is present are to be declined. */ + autoDeclineMode?: string; + /** The status to mark the user in Chat and related products. This can be available or doNotDisturb. */ + chatStatus?: string; + /** Response message to set if an existing event or new invitation is automatically declined by Calendar. */ + declineMessage?: string; + }; + type EventLabel = { + /** Background color of the label in hexadecimal format, such as "#039be5". Events with this label are displayed in this color. Required. */ + backgroundColor?: string; + /** The ID of the label. Optional when inserting a new label. If not provided, a unique ID will be generated. Required when updating a label. If provided, the ID must be unique within the calendar and follow UUID format. */ + id?: string; + /** Name of the label. Optional. If provided this must have at most 50 characters. */ + name?: string; + }; + type EventOutOfOfficeProperties = { + /** Whether to decline meeting invitations which overlap Out of office events. Valid values are declineNone, meaning that no meeting invitations are declined; declineAllConflictingInvitations, meaning that all conflicting meeting invitations that conflict with the event are declined; and declineOnlyNewConflictingInvitations, meaning that only new conflicting meeting invitations which arrive while the Out of office event is present are to be declined. */ + autoDeclineMode?: string; + /** Response message to set if an existing event or new invitation is automatically declined by Calendar. */ + declineMessage?: string; + }; + type EventReminder = { + /** The method used by this reminder. Possible values are: - "email" - Reminders are sent via email. - "popup" - Reminders are sent via a UI popup. Required when adding a reminder. */ + method?: string; + /** Number of minutes before the start of the event when the reminder should trigger. Valid values are between 0 and 40320 (4 weeks in minutes). Required when adding a reminder. */ + minutes?: number; + }; + type Events = { + /** The user's access role for this calendar. Read-only. Possible values are: - "none" - The user has no access. - "freeBusyReader" - The user has read access to free/busy information. - "reader" - The user has read access to the calendar. Private events will appear to users with reader access, but event details will be hidden. - "writerWithoutPrivateAccess" - The user has read and write access to the calendar. Private events will appear to users with writerWithoutPrivateAccess access, but event details will be hidden. - "writer" - The user has read and write access to the calendar. Private events will appear to users with writer access, and event details will be visible. - "owner" - The user has manager access to the calendar. This role has all of the permissions of the writer role with the additional ability to see and modify access levels of other users. Important: the owner role is different from the calendar's data owner. A calendar has a single data owner, but can have multiple users with owner role. */ + accessRole?: string; + /** The default reminders on the calendar for the authenticated user. These reminders apply to all events on this calendar that do not explicitly override them (i.e. do not have reminders.useDefault set to True). */ + defaultReminders?: Array; + /** Description of the calendar. Read-only. */ + description?: string; + /** ETag of the collection. */ + etag?: string; + /** List of events on the calendar. */ + items?: Array; + /** Type of the collection ("calendar#events"). */ + kind?: string; + /** Token used to access the next page of this result. Omitted if no further results are available, in which case nextSyncToken is provided. */ + nextPageToken?: string; + /** Token used at a later point in time to retrieve only the entries that have changed since this result was returned. Omitted if further results are available, in which case nextPageToken is provided. */ + nextSyncToken?: string; + /** Title of the calendar. Read-only. */ + summary?: string; + /** The time zone of the calendar. Read-only. */ + timeZone?: string; + /** Last modification time of the calendar (as a RFC3339 timestamp). Read-only. */ + updated?: string; + }; + type EventWorkingLocationProperties = { + /** If present, specifies that the user is working from a custom location. */ + customLocation?: { + /** An optional extra label for additional information. */ + label?: string; + }; + /** If present, specifies that the user is working at home. */ + homeOffice?: unknown; + /** If present, specifies that the user is working from an office. */ + officeLocation?: { + /** An optional building identifier. This should reference a building ID in the organization's Resources database. */ + buildingId?: string; + /** An optional desk identifier. */ + deskId?: string; + /** An optional floor identifier. */ + floorId?: string; + /** An optional floor section identifier. */ + floorSectionId?: string; + /** The office name that's displayed in Calendar Web and Mobile clients. We recommend you reference a building name in the organization's Resources database. */ + label?: string; + }; + /** Type of the working location. Possible values are: - "homeOffice" - The user is working at home. - "officeLocation" - The user is working from an office. - "customLocation" - The user is working from a custom location. Any details are specified in a sub-field of the specified name, but this field may be missing if empty. Any other fields are ignored. Required when adding working location properties. */ + type?: string; + }; + type FreeBusyCalendar = { + /** List of time ranges during which this calendar should be regarded as busy. */ + busy?: Array; + /** Optional error(s) (if computation for the calendar failed). */ + errors?: Array; + }; + type FreeBusyGroup = { + /** List of calendars' identifiers within a group. */ + calendars?: Array; + /** Optional error(s) (if computation for the group failed). */ + errors?: Array; + }; + type FreeBusyRequest = { + /** Maximal number of calendars for which FreeBusy information is to be provided. Optional. Maximum value is 50. */ + calendarExpansionMax?: number; + /** Maximal number of calendar identifiers to be provided for a single group. Optional. An error is returned for a group with more members than this value. Maximum value is 100. */ + groupExpansionMax?: number; + /** List of calendars and/or groups to query. */ + items?: Array; + /** The end of the interval for the query formatted as per RFC3339. */ + timeMax?: string; + /** The start of the interval for the query formatted as per RFC3339. */ + timeMin?: string; + /** Time zone used in the response. Optional. The default is UTC. */ + timeZone?: string; + }; + type FreeBusyRequestItem = { + /** The identifier of a calendar or a group. */ + id?: string; + }; + type FreeBusyResponse = { + /** List of free/busy information for calendars. */ + calendars?: Record; + /** Expansion of groups. */ + groups?: Record; + /** Type of the resource ("calendar#freeBusy"). */ + kind?: string; + /** The end of the interval. */ + timeMax?: string; + /** The start of the interval. */ + timeMin?: string; + }; + type LabelProperties = { + /** Event labels defined on this calendar. If this is present when updating the calendar, it will replace the existing event labels. Extend the list to add a new event label, and remove entities from the list to delete a label from calendar. Each calendar can have a maximum of 200 labels. */ + eventLabels?: Array; + }; + type Setting = { + /** ETag of the resource. */ + etag?: string; + /** The id of the user setting. */ + id?: string; + /** Type of the resource ("calendar#setting"). */ + kind?: string; + /** Value of the user setting. The format of the value depends on the ID of the setting. It must always be a UTF-8 string of length up to 1024 characters. */ + value?: string; + }; + type Settings = { + /** Etag of the collection. */ + etag?: string; + /** List of user settings. */ + items?: Array; + /** Type of the collection ("calendar#settings"). */ + kind?: string; + /** Token used to access the next page of this result. Omitted if no further results are available, in which case nextSyncToken is provided. */ + nextPageToken?: string; + /** Token used at a later point in time to retrieve only the entries that have changed since this result was returned. Omitted if further results are available, in which case nextPageToken is provided. */ + nextSyncToken?: string; + }; + type TimePeriod = { + /** The (exclusive) end of the time period. */ + end?: string; + /** The (inclusive) start of the time period. */ + start?: string; + }; + type AclDeleteParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** ACL rule identifier. */ + ruleId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type AclGetParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** ACL rule identifier. */ + ruleId: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type AclInsertParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether to send notifications about the calendar sharing change. Optional. The default is True. */ + sendNotifications?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.AclRule; + }; + type AclListParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional. */ + maxResults?: number; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether to include deleted ACLs in the result. Deleted ACLs are represented by role equal to "none". Deleted ACLs will always be included if syncToken is provided. Optional. The default is False. */ + showDeleted?: boolean; + /** Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. All entries deleted since the previous list request will always be in the result set and it is not allowed to set showDeleted to False. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. */ + syncToken?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type AclPatchParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** ACL rule identifier. */ + ruleId: string; + /** Whether to send notifications about the calendar sharing change. Note that there are no notifications on access removal. Optional. The default is True. */ + sendNotifications?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.AclRule; + }; + type AclUpdateParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** ACL rule identifier. */ + ruleId: string; + /** Whether to send notifications about the calendar sharing change. Note that there are no notifications on access removal. Optional. The default is True. */ + sendNotifications?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.AclRule; + }; + type AclWatchParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional. */ + maxResults?: number; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether to include deleted ACLs in the result. Deleted ACLs are represented by role equal to "none". Deleted ACLs will always be included if syncToken is provided. Optional. The default is False. */ + showDeleted?: boolean; + /** Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. All entries deleted since the previous list request will always be in the result set and it is not allowed to set showDeleted to False. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. */ + syncToken?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.Channel; + }; + type CalendarListDeleteParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type CalendarListGetParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type CalendarListInsertParams = { + /** Data format for the response. */ + alt?: "json"; + /** Whether to use the foregroundColor and backgroundColor fields to write the calendar colors (RGB). If this feature is used, the index-based colorId field will be set to the best matching option automatically. Optional. The default is False. */ + colorRgbFormat?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.CalendarListEntry; + }; + type CalendarListListParams = { + /** Data format for the response. */ + alt?: "json"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional. */ + maxResults?: number; + /** The minimum access role for the user in the returned entries. Optional. The default is no restriction. */ + minAccessRole?: "freeBusyReader" | "owner" | "reader" | "writer" | "writerWithoutPrivateAccess"; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether to include deleted calendar list entries in the result. Optional. The default is False. */ + showDeleted?: boolean; + /** Whether to show hidden entries. Optional. The default is False. */ + showHidden?: boolean; + /** Whether to show only entries for calendars from the organization. This parameter is only applicable to Google Workspace users. Optional. The default is False. */ + showOwnOrganizationOnly?: boolean; + /** Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. If only read-only fields such as calendar properties or ACLs have changed, the entry won't be returned. All entries deleted and hidden since the previous list request will always be in the result set and it is not allowed to set showDeleted neither showHidden to False. To ensure client state consistency minAccessRole and showOwnOrganizationOnly query parameters cannot be specified together with nextSyncToken. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. */ + syncToken?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type CalendarListPatchParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Whether to use the foregroundColor and backgroundColor fields to write the calendar colors (RGB). If this feature is used, the index-based colorId field will be set to the best matching option automatically. Optional. The default is False. */ + colorRgbFormat?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.CalendarListEntry; + }; + type CalendarListUpdateParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Whether to use the foregroundColor and backgroundColor fields to write the calendar colors (RGB). If this feature is used, the index-based colorId field will be set to the best matching option automatically. Optional. The default is False. */ + colorRgbFormat?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.CalendarListEntry; + }; + type CalendarListWatchParams = { + /** Data format for the response. */ + alt?: "json"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional. */ + maxResults?: number; + /** The minimum access role for the user in the returned entries. Optional. The default is no restriction. */ + minAccessRole?: "freeBusyReader" | "owner" | "reader" | "writer" | "writerWithoutPrivateAccess"; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether to include deleted calendar list entries in the result. Optional. The default is False. */ + showDeleted?: boolean; + /** Whether to show hidden entries. Optional. The default is False. */ + showHidden?: boolean; + /** Whether to show only entries for calendars from the organization. This parameter is only applicable to Google Workspace users. Optional. The default is False. */ + showOwnOrganizationOnly?: boolean; + /** Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. If only read-only fields such as calendar properties or ACLs have changed, the entry won't be returned. All entries deleted and hidden since the previous list request will always be in the result set and it is not allowed to set showDeleted neither showHidden to False. To ensure client state consistency minAccessRole and showOwnOrganizationOnly query parameters cannot be specified together with nextSyncToken. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. */ + syncToken?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.Channel; + }; + type CalendarsClearParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type CalendarsDeleteParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type CalendarsGetParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type CalendarsInsertParams = { + /** Data format for the response. */ + alt?: "json"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.Calendar; + }; + type CalendarsPatchParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.Calendar; + }; + type CalendarsTransferOwnershipParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs, call the calendarList.list method. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The email address of a user who will become the data owner of the calendar. */ + newDataOwner: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** When true, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the Manage Calendars privilege. This method currently only supports admin access, thus only true is accepted for this field. */ + useAdminAccess: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type CalendarsUpdateParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.Calendar; + }; + type ChannelsStopParams = { + /** Data format for the response. */ + alt?: "json"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.Channel; + }; + type ColorsGetParams = { + /** Data format for the response. */ + alt?: "json"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type EventsDeleteParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Event identifier. */ + eventId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use sendUpdates instead. Whether to send notifications about the deletion of the event. Note that some emails might still be sent even if you set the value to false. The default is false. */ + sendNotifications?: boolean; + /** Guests who should receive notifications about the deletion of the event. */ + sendUpdates?: "all" | "externalOnly" | "none"; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type EventsGetParams = { + /** Data format for the response. */ + alt?: "json"; + /** Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a generated, non-working value will be provided). */ + alwaysIncludeEmail?: boolean; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Event identifier. */ + eventId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. */ + maxAttendees?: number; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Time zone used in the response. Optional. The default is the time zone of the calendar. */ + timeZone?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type EventsImportParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Version number of conference data supported by the API client. Version 0 assumes no conference data support and ignores conference data in the event's body. Version 1 enables support for copying of ConferenceData as well as for creating new conferences using the createRequest field of conferenceData. The default is 0. */ + conferenceDataVersion?: number; + /** Version number of the event label feature supported by the API client. Version 0 assumes no event label support and processes the colorId field for color management. Version 1 enables support for event labels, and processes the eventLabelId in the event's body. In this case, the colorId field is ignored. The default is 0. */ + eventLabelVersion?: number; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether API client performing operation supports event attachments. Optional. The default is False. */ + supportsAttachments?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.Event; + }; + type EventsInsertParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Version number of conference data supported by the API client. Version 0 assumes no conference data support and ignores conference data in the event's body. Version 1 enables support for copying of ConferenceData as well as for creating new conferences using the createRequest field of conferenceData. The default is 0. */ + conferenceDataVersion?: number; + /** Version number of the event label feature supported by the API client. Version 0 assumes no event label support and processes the colorId field for color management. Version 1 enables support for event labels, and processes the eventLabelId in the event's body. In this case, the colorId field is ignored. The default is 0. */ + eventLabelVersion?: number; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. */ + maxAttendees?: number; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use sendUpdates instead. Whether to send notifications about the creation of the new event. Note that some emails might still be sent even if you set the value to false. The default is false. */ + sendNotifications?: boolean; + /** Whether to send notifications about the creation of the new event. Note that some emails might still be sent. The default is false. */ + sendUpdates?: "all" | "externalOnly" | "none"; + /** Whether API client performing operation supports event attachments. Optional. The default is False. */ + supportsAttachments?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.Event; + }; + type EventsInstancesParams = { + /** Data format for the response. */ + alt?: "json"; + /** Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a generated, non-working value will be provided). */ + alwaysIncludeEmail?: boolean; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Recurring event identifier. */ + eventId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. */ + maxAttendees?: number; + /** Maximum number of events returned on one result page. By default the value is 250 events. The page size can never be larger than 2500 events. Optional. */ + maxResults?: number; + /** The original start time of the instance in the result. Optional. */ + originalStart?: string; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Whether to include deleted events (with status equals "cancelled") in the result. Cancelled instances of recurring events will still be included if singleEvents is False. Optional. The default is False. */ + showDeleted?: boolean; + /** Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset. */ + timeMax?: string; + /** Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset. */ + timeMin?: string; + /** Time zone used in the response. Optional. The default is the time zone of the calendar. */ + timeZone?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type EventsListParams = { + /** Data format for the response. */ + alt?: "json"; + /** Deprecated and ignored. */ + alwaysIncludeEmail?: boolean; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Event types to return. Optional. This parameter can be repeated multiple times to return events of different types. If unset, returns all event types. */ + eventTypes?: Array<"birthday" | "default" | "focusTime" | "fromGmail" | "outOfOffice" | "workingLocation">; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Specifies an event ID in the iCalendar format to be provided in the response. Optional. Use this if you want to search for an event by its iCalendar ID. */ + iCalUID?: string; + /** The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. */ + maxAttendees?: number; + /** Maximum number of events returned on one result page. The number of events in the resulting page may be less than this value, or none at all, even if there are more events matching the query. Incomplete pages can be detected by a non-empty nextPageToken field in the response. By default the value is 250 events. The page size can never be larger than 2500 events. Optional. */ + maxResults?: number; + /** The order of the events returned in the result. Optional. The default is an unspecified, stable order. */ + orderBy?: "startTime" | "updated"; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Extended properties constraint specified as propertyName=value. Matches only private properties. This parameter might be repeated multiple times to return events that match all given constraints. */ + privateExtendedProperty?: Array; + /** Free text search terms to find events that match these terms in the following fields: - summary - description - location - attendee's displayName - attendee's email - organizer's displayName - organizer's email - workingLocationProperties.officeLocation.buildingId - workingLocationProperties.officeLocation.deskId - workingLocationProperties.officeLocation.label - workingLocationProperties.customLocation.label These search terms also match predefined keywords against all display title translations of working location, out-of-office, and focus-time events. For example, searching for "Office" or "Bureau" returns working location events of type officeLocation, whereas searching for "Out of office" or "Abwesend" returns out-of-office events. Optional. */ + q?: string; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Extended properties constraint specified as propertyName=value. Matches only shared properties. This parameter might be repeated multiple times to return events that match all given constraints. */ + sharedExtendedProperty?: Array; + /** Whether to include deleted events (with status equals "cancelled") in the result. Cancelled instances of recurring events (but not the underlying recurring event) will still be included if showDeleted and singleEvents are both False. If showDeleted and singleEvents are both True, only single instances of deleted events (but not the underlying recurring events) are returned. Optional. The default is False. */ + showDeleted?: boolean; + /** Whether to include hidden invitations in the result. Optional. The default is False. */ + showHiddenInvitations?: boolean; + /** Whether to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves. Optional. The default is False. */ + singleEvents?: boolean; + /** Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. All events deleted since the previous list request will always be in the result set and it is not allowed to set showDeleted to False. There are several query parameters that cannot be specified together with nextSyncToken to ensure consistency of the client state. These are: - iCalUID - orderBy - privateExtendedProperty - q - sharedExtendedProperty - timeMin - timeMax - updatedMin All other query parameters should be the same as for the initial synchronization to avoid undefined behavior. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. */ + syncToken?: string; + /** Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin. */ + timeMax?: string; + /** Lower bound (exclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMax is set, timeMin must be smaller than timeMax. */ + timeMin?: string; + /** Time zone used in the response. Optional. The default is the time zone of the calendar. */ + timeZone?: string; + /** Lower bound for an event's last modification time (as a RFC3339 timestamp) to filter by. When specified, entries deleted since this time will always be included regardless of showDeleted. Optional. The default is not to filter by last modification time. */ + updatedMin?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type EventsMoveParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier of the source calendar where the event currently is on. */ + calendarId: string; + /** Calendar identifier of the target calendar where the event is to be moved to. */ + destination: string; + /** Event identifier. */ + eventId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use sendUpdates instead. Whether to send notifications about the change of the event's organizer. Note that some emails might still be sent even if you set the value to false. The default is false. */ + sendNotifications?: boolean; + /** Guests who should receive notifications about the change of the event's organizer. */ + sendUpdates?: "all" | "externalOnly" | "none"; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type EventsPatchParams = { + /** Data format for the response. */ + alt?: "json"; + /** Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a generated, non-working value will be provided). */ + alwaysIncludeEmail?: boolean; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Version number of conference data supported by the API client. Version 0 assumes no conference data support and ignores conference data in the event's body. Version 1 enables support for copying of ConferenceData as well as for creating new conferences using the createRequest field of conferenceData. The default is 0. */ + conferenceDataVersion?: number; + /** Event identifier. */ + eventId: string; + /** Version number of the event label feature supported by the API client. Version 0 assumes no event label support and processes the colorId field for color management. Version 1 enables support for event labels, and processes the eventLabelId in the event's body. In this case, the colorId field is ignored. The default is 0. */ + eventLabelVersion?: number; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. */ + maxAttendees?: number; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use sendUpdates instead. Whether to send notifications about the event update (for example, description changes, etc.). Note that some emails might still be sent even if you set the value to false. The default is false. */ + sendNotifications?: boolean; + /** Guests who should receive notifications about the event update (for example, title changes, etc.). */ + sendUpdates?: "all" | "externalOnly" | "none"; + /** Whether API client performing operation supports event attachments. Optional. The default is False. */ + supportsAttachments?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.Event; + }; + type EventsQuickAddParams = { + /** Data format for the response. */ + alt?: "json"; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use sendUpdates instead. Whether to send notifications about the creation of the event. Note that some emails might still be sent even if you set the value to false. The default is false. */ + sendNotifications?: boolean; + /** Guests who should receive notifications about the creation of the new event. */ + sendUpdates?: "all" | "externalOnly" | "none"; + /** The text describing the event to be created. */ + text: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type EventsUpdateParams = { + /** Data format for the response. */ + alt?: "json"; + /** Deprecated and ignored. A value will always be returned in the email field for the organizer, creator and attendees, even if no real email address is available (i.e. a generated, non-working value will be provided). */ + alwaysIncludeEmail?: boolean; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Version number of conference data supported by the API client. Version 0 assumes no conference data support and ignores conference data in the event's body. Version 1 enables support for copying of ConferenceData as well as for creating new conferences using the createRequest field of conferenceData. The default is 0. */ + conferenceDataVersion?: number; + /** Event identifier. */ + eventId: string; + /** Version number of the event label feature supported by the API client. Version 0 assumes no event label support and processes the colorId field for color management. Version 1 enables support for event labels, and processes the eventLabelId in the event's body. In this case, the colorId field is ignored. The default is 0. */ + eventLabelVersion?: number; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. */ + maxAttendees?: number; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use sendUpdates instead. Whether to send notifications about the event update (for example, description changes, etc.). Note that some emails might still be sent even if you set the value to false. The default is false. */ + sendNotifications?: boolean; + /** Guests who should receive notifications about the event update (for example, title changes, etc.). */ + sendUpdates?: "all" | "externalOnly" | "none"; + /** Whether API client performing operation supports event attachments. Optional. The default is False. */ + supportsAttachments?: boolean; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.Event; + }; + type EventsWatchParams = { + /** Data format for the response. */ + alt?: "json"; + /** Deprecated and ignored. */ + alwaysIncludeEmail?: boolean; + /** Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the "primary" keyword. */ + calendarId: string; + /** Event types to return. Optional. This parameter can be repeated multiple times to return events of different types. If unset, returns all event types. */ + eventTypes?: Array<"birthday" | "default" | "focusTime" | "fromGmail" | "outOfOffice" | "workingLocation">; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Specifies an event ID in the iCalendar format to be provided in the response. Optional. Use this if you want to search for an event by its iCalendar ID. */ + iCalUID?: string; + /** The maximum number of attendees to include in the response. If there are more than the specified number of attendees, only the participant is returned. Optional. */ + maxAttendees?: number; + /** Maximum number of events returned on one result page. The number of events in the resulting page may be less than this value, or none at all, even if there are more events matching the query. Incomplete pages can be detected by a non-empty nextPageToken field in the response. By default the value is 250 events. The page size can never be larger than 2500 events. Optional. */ + maxResults?: number; + /** The order of the events returned in the result. Optional. The default is an unspecified, stable order. */ + orderBy?: "startTime" | "updated"; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Extended properties constraint specified as propertyName=value. Matches only private properties. This parameter might be repeated multiple times to return events that match all given constraints. */ + privateExtendedProperty?: Array; + /** Free text search terms to find events that match these terms in the following fields: - summary - description - location - attendee's displayName - attendee's email - organizer's displayName - organizer's email - workingLocationProperties.officeLocation.buildingId - workingLocationProperties.officeLocation.deskId - workingLocationProperties.officeLocation.label - workingLocationProperties.customLocation.label These search terms also match predefined keywords against all display title translations of working location, out-of-office, and focus-time events. For example, searching for "Office" or "Bureau" returns working location events of type officeLocation, whereas searching for "Out of office" or "Abwesend" returns out-of-office events. Optional. */ + q?: string; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Extended properties constraint specified as propertyName=value. Matches only shared properties. This parameter might be repeated multiple times to return events that match all given constraints. */ + sharedExtendedProperty?: Array; + /** Whether to include deleted events (with status equals "cancelled") in the result. Cancelled instances of recurring events (but not the underlying recurring event) will still be included if showDeleted and singleEvents are both False. If showDeleted and singleEvents are both True, only single instances of deleted events (but not the underlying recurring events) are returned. Optional. The default is False. */ + showDeleted?: boolean; + /** Whether to include hidden invitations in the result. Optional. The default is False. */ + showHiddenInvitations?: boolean; + /** Whether to expand recurring events into instances and only return single one-off events and instances of recurring events, but not the underlying recurring events themselves. Optional. The default is False. */ + singleEvents?: boolean; + /** Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. All events deleted since the previous list request will always be in the result set and it is not allowed to set showDeleted to False. There are several query parameters that cannot be specified together with nextSyncToken to ensure consistency of the client state. These are: - iCalUID - orderBy - privateExtendedProperty - q - sharedExtendedProperty - timeMin - timeMax - updatedMin All other query parameters should be the same as for the initial synchronization to avoid undefined behavior. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. */ + syncToken?: string; + /** Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMin is set, timeMax must be greater than timeMin. */ + timeMax?: string; + /** Lower bound (exclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, for example, 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but are ignored. If timeMax is set, timeMin must be smaller than timeMax. */ + timeMin?: string; + /** Time zone used in the response. Optional. The default is the time zone of the calendar. */ + timeZone?: string; + /** Lower bound for an event's last modification time (as a RFC3339 timestamp) to filter by. When specified, entries deleted since this time will always be included regardless of showDeleted. Optional. The default is not to filter by last modification time. */ + updatedMin?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.Channel; + }; + type FreebusyQueryParams = { + /** Data format for the response. */ + alt?: "json"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.FreeBusyRequest; + }; + type SettingsGetParams = { + /** Data format for the response. */ + alt?: "json"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** The id of the user setting. */ + setting: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type SettingsListParams = { + /** Data format for the response. */ + alt?: "json"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional. */ + maxResults?: number; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. */ + syncToken?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + }; + type SettingsWatchParams = { + /** Data format for the response. */ + alt?: "json"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Maximum number of entries returned on one result page. By default the value is 100 entries. The page size can never be larger than 250 entries. Optional. */ + maxResults?: number; + /** Token specifying which result page to return. Optional. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** An opaque string that represents a user for quota purposes. Must not exceed 40 characters. */ + quotaUser?: string; + /** Token obtained from the nextSyncToken field returned on the last page of results from the previous list request. It makes the result of this list request contain only entries that have changed since then. If the syncToken expires, the server will respond with a 410 GONE response code and the client should clear its storage and perform a full synchronization without any syncToken. Learn more about incremental synchronization. Optional. The default is to return all entries. */ + syncToken?: string; + /** Deprecated. Please use quotaUser instead. */ + userIp?: string; + requestBody?: GoogleCalendar.Channel; + }; + type Client = { + acl: { + /** Deletes an access control rule. */ + delete(params: AclDeleteParams): Promise; + /** Returns an access control rule. */ + get(params: AclGetParams): Promise; + /** Creates an access control rule. */ + insert(params: AclInsertParams): Promise; + /** Returns the rules in the access control list for the calendar. */ + list(params: AclListParams): Promise; + /** Updates an access control rule. This method supports patch semantics. */ + patch(params: AclPatchParams): Promise; + /** Updates an access control rule. */ + update(params: AclUpdateParams): Promise; + /** Watch for changes to ACL resources. */ + watch(params: AclWatchParams): Promise; + }; + calendarList: { + /** Removes a calendar from the user's calendar list. */ + delete(params: CalendarListDeleteParams): Promise; + /** Returns a calendar from the user's calendar list. */ + get(params: CalendarListGetParams): Promise; + /** Inserts an existing calendar into the user's calendar list. */ + insert(params?: CalendarListInsertParams): Promise; + /** Returns the calendars on the user's calendar list. */ + list(params?: CalendarListListParams): Promise; + /** Updates an existing calendar on the user's calendar list. This method supports patch semantics. */ + patch(params: CalendarListPatchParams): Promise; + /** Updates an existing calendar on the user's calendar list. */ + update(params: CalendarListUpdateParams): Promise; + /** Watch for changes to CalendarList resources. */ + watch(params?: CalendarListWatchParams): Promise; + }; + calendars: { + /** Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account. */ + clear(params: CalendarsClearParams): Promise; + /** Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars. */ + delete(params: CalendarsDeleteParams): Promise; + /** Returns metadata for a calendar. */ + get(params: CalendarsGetParams): Promise; + /** 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. */ + insert(params?: CalendarsInsertParams): Promise; + /** Updates metadata for a calendar. This method supports patch semantics. */ + patch(params: CalendarsPatchParams): Promise; + /** 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. */ + transferOwnership(params: CalendarsTransferOwnershipParams): Promise; + /** Updates metadata for a calendar. */ + update(params: CalendarsUpdateParams): Promise; + }; + channels: { + /** Stop watching resources through this channel */ + stop(params?: ChannelsStopParams): Promise; + }; + colors: { + /** Returns the color definitions for calendars and events. */ + get(params?: ColorsGetParams): Promise; + }; + events: { + /** Deletes an event. */ + delete(params: EventsDeleteParams): Promise; + /** 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. */ + get(params: EventsGetParams): Promise; + /** 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. */ + import(params: EventsImportParams): Promise; + /** Creates an event. */ + insert(params: EventsInsertParams): Promise; + /** Returns instances of the specified recurring event. */ + instances(params: EventsInstancesParams): Promise; + /** Returns events on the specified calendar. */ + list(params: EventsListParams): Promise; + /** 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. */ + move(params: EventsMoveParams): Promise; + /** Updates an event. This method supports patch semantics. */ + patch(params: EventsPatchParams): Promise; + /** Creates an event based on a simple text string. */ + quickAdd(params: EventsQuickAddParams): Promise; + /** Updates an event. */ + update(params: EventsUpdateParams): Promise; + /** Watch for changes to Events resources. */ + watch(params: EventsWatchParams): Promise; + }; + freebusy: { + /** Returns free/busy information for a set of calendars. */ + query(params?: FreebusyQueryParams): Promise; + }; + settings: { + /** Returns a single user setting. */ + get(params: SettingsGetParams): Promise; + /** Returns all user settings for the authenticated user. */ + list(params?: SettingsListParams): Promise; + /** Watch for changes to Settings resources. */ + watch(params?: SettingsWatchParams): Promise; + }; + }; +} +declare namespace GoogleDocs { + /** Adds a document tab. When a tab is added at a given index, all subsequent tabs' indexes are incremented. */ + type AddDocumentTabRequest = { + /** The properties of the tab to add. All properties are optional. */ + tabProperties?: GoogleDocs.TabProperties; + }; + /** The result of adding a document tab. */ + type AddDocumentTabResponse = { + /** The properties of the newly added tab. */ + tabProperties?: GoogleDocs.TabProperties; + }; + /** A ParagraphElement representing a spot in the text that's dynamically replaced with content that can change over time, like a page number. */ + type AutoText = { + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion IDs. An AutoText may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion. */ + suggestedInsertionIds?: Array; + /** The suggested text style changes to this AutoText, keyed by suggestion ID. */ + suggestedTextStyleChanges?: Record; + /** The text style of this AutoText. */ + textStyle?: GoogleDocs.TextStyle; + /** The type of this auto text. */ + type?: "TYPE_UNSPECIFIED" | "PAGE_NUMBER" | "PAGE_COUNT"; + }; + /** Represents the background of a document. */ + type Background = { + /** The background color. */ + color?: GoogleDocs.OptionalColor; + }; + /** A mask that indicates which of the fields on the base Background have been changed in this suggestion. For any field set to true, the Backgound has a new suggested value. */ + type BackgroundSuggestionState = { + /** Indicates whether the current background color has been modified in this suggestion. */ + backgroundColorSuggested?: boolean; + }; + /** Request message for BatchUpdateDocument. */ + type BatchUpdateDocumentRequest = { + /** A list of updates to apply to the document. */ + requests?: Array; + /** Provides control over how write requests are executed. */ + writeControl?: GoogleDocs.WriteControl; + }; + /** Response message from a BatchUpdateDocument request. */ + type BatchUpdateDocumentResponse = { + /** The ID of the document to which the updates were applied to. */ + documentId?: string; + /** The reply of the updates. This maps 1:1 with the updates, although replies to some requests may be empty. */ + replies?: Array; + /** The updated write control after applying the request. */ + writeControl?: GoogleDocs.WriteControl; + }; + /** The document body. The body typically contains the full document contents except for headers, footers, and footnotes. */ + type Body = { + /** The contents of the body. The indexes for the body's content begin at zero. */ + content?: Array; + }; + /** A reference to a bookmark in this document. */ + type BookmarkLink = { + /** The ID of a bookmark in this document. */ + id?: string; + /** The ID of the tab containing this bookmark. */ + tabId?: string; + }; + /** Describes the bullet of a paragraph. */ + type Bullet = { + /** The ID of the list this paragraph belongs to. */ + listId?: string; + /** The nesting level of this paragraph in the list. */ + nestingLevel?: number; + /** The paragraph-specific text style applied to this bullet. */ + textStyle?: GoogleDocs.TextStyle; + }; + /** A mask that indicates which of the fields on the base Bullet have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type BulletSuggestionState = { + /** Indicates if there was a suggested change to the list_id. */ + listIdSuggested?: boolean; + /** Indicates if there was a suggested change to the nesting_level. */ + nestingLevelSuggested?: boolean; + /** A mask that indicates which of the fields in text style have been changed in this suggestion. */ + textStyleSuggestionState?: GoogleDocs.TextStyleSuggestionState; + }; + /** A solid color. */ + type Color = { + /** The RGB color value. */ + rgbColor?: GoogleDocs.RgbColor; + }; + /** A ParagraphElement representing a column break. A column break makes the subsequent text start at the top of the next column. */ + type ColumnBreak = { + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion IDs. A ColumnBreak may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion. */ + suggestedInsertionIds?: Array; + /** The suggested text style changes to this ColumnBreak, keyed by suggestion ID. */ + suggestedTextStyleChanges?: Record; + /** The text style of this ColumnBreak. Similar to text content, like text runs and footnote references, the text style of a column break can affect content layout as well as the styling of text inserted next to it. */ + textStyle?: GoogleDocs.TextStyle; + }; + /** Creates a Footer. The new footer is applied to the SectionStyle at the location of the SectionBreak if specified, otherwise it is applied to the DocumentStyle. If a footer of the specified type already exists, a 400 bad request error is returned. */ + type CreateFooterRequest = { + /** The location of the SectionBreak immediately preceding the section whose SectionStyle this footer should belong to. If this is unset or refers to the first section break in the document, the footer applies to the document style. */ + sectionBreakLocation?: GoogleDocs.Location; + /** The type of footer to create. */ + type?: "HEADER_FOOTER_TYPE_UNSPECIFIED" | "DEFAULT"; + }; + /** The result of creating a footer. */ + type CreateFooterResponse = { + /** The ID of the created footer. */ + footerId?: string; + }; + /** Creates a Footnote segment and inserts a new FootnoteReference to it at the given location. The new Footnote segment will contain a space followed by a newline character. */ + type CreateFootnoteRequest = { + /** Inserts the footnote reference at the end of the document body. Footnote references cannot be inserted inside a header, footer or footnote. Since footnote references can only be inserted in the body, the segment ID field must be empty. */ + endOfSegmentLocation?: GoogleDocs.EndOfSegmentLocation; + /** Inserts the footnote reference at a specific index in the document. The footnote reference must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table's start index (i.e. between the table and its preceding paragraph). Footnote references cannot be inserted inside an equation, header, footer or footnote. Since footnote references can only be inserted in the body, the segment ID field must be empty. */ + location?: GoogleDocs.Location; + }; + /** The result of creating a footnote. */ + type CreateFootnoteResponse = { + /** The ID of the created footnote. */ + footnoteId?: string; + }; + /** Creates a Header. The new header is applied to the SectionStyle at the location of the SectionBreak if specified, otherwise it is applied to the DocumentStyle. If a header of the specified type already exists, a 400 bad request error is returned. */ + type CreateHeaderRequest = { + /** The location of the SectionBreak which begins the section this header should belong to. If `section_break_location' is unset or if it refers to the first section break in the document body, the header applies to the DocumentStyle */ + sectionBreakLocation?: GoogleDocs.Location; + /** The type of header to create. */ + type?: "HEADER_FOOTER_TYPE_UNSPECIFIED" | "DEFAULT"; + }; + /** The result of creating a header. */ + type CreateHeaderResponse = { + /** The ID of the created header. */ + headerId?: string; + }; + /** Creates a NamedRange referencing the given range. */ + type CreateNamedRangeRequest = { + /** The name of the NamedRange. Names do not need to be unique. Names must be at least 1 character and no more than 256 characters, measured in UTF-16 code units. */ + name?: string; + /** The range to apply the name to. */ + range?: GoogleDocs.Range; + }; + /** The result of creating a named range. */ + type CreateNamedRangeResponse = { + /** The ID of the created named range. */ + namedRangeId?: string; + }; + /** Creates bullets for all of the paragraphs that overlap with the given range. The nesting level of each paragraph will be determined by counting leading tabs in front of each paragraph. To avoid excess space between the bullet and the corresponding paragraph, these leading tabs are removed by this request. This may change the indices of parts of the text. If the paragraph immediately before paragraphs being updated is in a list with a matching preset, the paragraphs being updated are added to that preceding list. */ + type CreateParagraphBulletsRequest = { + /** The kinds of bullet glyphs to be used. */ + bulletPreset?: "BULLET_GLYPH_PRESET_UNSPECIFIED" | "BULLET_DISC_CIRCLE_SQUARE" | "BULLET_DIAMONDX_ARROW3D_SQUARE" | "BULLET_CHECKBOX" | "BULLET_ARROW_DIAMOND_DISC" | "BULLET_STAR_CIRCLE_SQUARE" | "BULLET_ARROW3D_CIRCLE_SQUARE" | "BULLET_LEFTTRIANGLE_DIAMOND_DISC" | "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE" | "BULLET_DIAMOND_CIRCLE_SQUARE" | "NUMBERED_DECIMAL_ALPHA_ROMAN" | "NUMBERED_DECIMAL_ALPHA_ROMAN_PARENS" | "NUMBERED_DECIMAL_NESTED" | "NUMBERED_UPPERALPHA_ALPHA_ROMAN" | "NUMBERED_UPPERROMAN_UPPERALPHA_DECIMAL" | "NUMBERED_ZERODECIMAL_ALPHA_ROMAN"; + /** The range to apply the bullet preset to. */ + range?: GoogleDocs.Range; + }; + /** The crop properties of an image. The crop rectangle is represented using fractional offsets from the original content's 4 edges. - If the offset is in the interval (0, 1), the corresponding edge of crop rectangle is positioned inside of the image's original bounding rectangle. - If the offset is negative or greater than 1, the corresponding edge of crop rectangle is positioned outside of the image's original bounding rectangle. - If all offsets and rotation angles are 0, the image is not cropped. */ + type CropProperties = { + /** The clockwise rotation angle of the crop rectangle around its center, in radians. Rotation is applied after the offsets. */ + angle?: number; + /** The offset specifies how far inwards the bottom edge of the crop rectangle is from the bottom edge of the original content as a fraction of the original content's height. */ + offsetBottom?: number; + /** The offset specifies how far inwards the left edge of the crop rectangle is from the left edge of the original content as a fraction of the original content's width. */ + offsetLeft?: number; + /** The offset specifies how far inwards the right edge of the crop rectangle is from the right edge of the original content as a fraction of the original content's width. */ + offsetRight?: number; + /** The offset specifies how far inwards the top edge of the crop rectangle is from the top edge of the original content as a fraction of the original content's height. */ + offsetTop?: number; + }; + /** A mask that indicates which of the fields on the base CropProperties have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type CropPropertiesSuggestionState = { + /** Indicates if there was a suggested change to angle. */ + angleSuggested?: boolean; + /** Indicates if there was a suggested change to offset_bottom. */ + offsetBottomSuggested?: boolean; + /** Indicates if there was a suggested change to offset_left. */ + offsetLeftSuggested?: boolean; + /** Indicates if there was a suggested change to offset_right. */ + offsetRightSuggested?: boolean; + /** Indicates if there was a suggested change to offset_top. */ + offsetTopSuggested?: boolean; + }; + /** A date instance mentioned in a document. */ + type DateElement = { + /** The properties of this DateElement. */ + dateElementProperties?: GoogleDocs.DateElementProperties; + /** Output only. The unique ID of this date. */ + dateId?: string; + /** The suggested changes to the date element properties, keyed by suggestion ID. */ + suggestedDateElementPropertiesChanges?: Record; + /** IDs for suggestions that remove this date from the document. A DateElement might have multiple deletion IDs if, for example, multiple users suggest deleting it. If empty, then this date isn't suggested for deletion. */ + suggestedDeletionIds?: Array; + /** IDs for suggestions that insert this date into the document. A DateElement might have multiple insertion IDs if it's a nested suggested change (a suggestion within a suggestion made by a different user, for example). If empty, then this date isn't a suggested insertion. */ + suggestedInsertionIds?: Array; + /** The suggested text style changes to this DateElement, keyed by suggestion ID. */ + suggestedTextStyleChanges?: Record; + /** The text style of this DateElement. */ + textStyle?: GoogleDocs.TextStyle; + }; + /** Properties of a DateElement. */ + type DateElementProperties = { + /** Determines how the date part of the DateElement will be displayed in the document. If unset, the default value is DATE_FORMAT_MONTH_DAY_YEAR_ABBREVIATED, indicating the DateElement will be formatted as `MMM d, y` in `en`, or locale specific equivalent. */ + dateFormat?: "DATE_FORMAT_UNSPECIFIED" | "DATE_FORMAT_CUSTOM" | "DATE_FORMAT_MONTH_DAY_ABBREVIATED" | "DATE_FORMAT_MONTH_DAY_FULL" | "DATE_FORMAT_MONTH_DAY_YEAR_ABBREVIATED" | "DATE_FORMAT_ISO8601"; + /** Output only. Indicates how the DateElement is displayed in the document. */ + displayText?: string; + /** The language code of the DateElement. For example, `en`. If unset, the default locale is `en`. Limited to the following locales: `af`, `am`, `ar`, `as`, `az`, `be`, `bg`, `bn`, `ca`, `cs`, `da`, `de`, `el`, `en`, `en-CA`, `en-GB`, `es`, `es-419`, `et`, `eu`, `fa`, `fi`, `fil`, `fr`, `fr-CA`, `gl`, `gu`, `hi`, `hr`, `hu`, `hy`, `id`, `is`, `it`, `iw`, `ja`, `ka`, `kk`, `km`, `kn`, `ko`, `lo`, `lt`, `lv`, `mk`, `ml`, `mn`, `mr`, `ms`, `ne`, `nl`, `no`, `or`, `pa`, `pl`, `pt-BR`, `pt-PT`, `ro`, `ru`, `si`, `sk`, `sl`, `sq`, `sr`, `sv`, `sw`, `ta`, `te`, `th`, `tr`, `uk`, `ur`, `uz`, `vi`, `zh-CN`, `zh-HK`, `zh-TW`, `zu`, `cy`, `my`. */ + locale?: string; + /** Determines how the time part of the DateElement will be displayed in the document. If unset, the default value is TIME_FORMAT_DISABLED, indicating no time should be shown. */ + timeFormat?: "TIME_FORMAT_UNSPECIFIED" | "TIME_FORMAT_DISABLED" | "TIME_FORMAT_HOUR_MINUTE" | "TIME_FORMAT_HOUR_MINUTE_TIMEZONE"; + /** The point in time to represent, in seconds and nanoseconds since Unix epoch: January 1, 1970 at midnight UTC. Timestamp is expected to be in UTC. If time_zone_id is set, the timestamp is adjusted according to the time zone. For example, a timestamp of `18000` with a date format of `DATE_FORMAT_ISO8601` and time format of `TIME_FORMAT_HOUR_MINUTE` would be displayed as `1970-01-01 5:00 AM`. A timestamp of `18000` with date format of `DATE_FORMAT_ISO8601`, time format of `TIME_FORMAT_HOUR_MINUTE`, and time zone set to `America/New_York` will instead be `1970-01-01 12:00 AM`. */ + timestamp?: string; + /** The time zone of the DateElement, as defined by the Unicode Common Locale Data Repository (CLDR) project. For example, `America/New_York`. If unset, the default time zone is `etc/UTC`. */ + timeZoneId?: string; + }; + /** A mask that indicates which of the fields on the base DateElementProperties have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type DateElementPropertiesSuggestionState = { + /** Indicates if there was a suggested change to date_format. */ + dateFormatSuggested?: boolean; + /** Indicates if there was a suggested change to locale. */ + localeSuggested?: boolean; + /** Indicates if there was a suggested change to time_format. */ + timeFormatSuggested?: boolean; + /** Indicates if there was a suggested change to timestamp. */ + timestampSuggested?: boolean; + /** Indicates if there was a suggested change to time_zone_id. */ + timeZoneIdSuggested?: boolean; + }; + /** Deletes content from the document. */ + type DeleteContentRangeRequest = { + /** The range of content to delete. Deleting text that crosses a paragraph boundary may result in changes to paragraph styles, lists, positioned objects and bookmarks as the two paragraphs are merged. Attempting to delete certain ranges can result in an invalid document structure in which case a 400 bad request error is returned. Some examples of invalid delete requests include: * Deleting one code unit of a surrogate pair. * Deleting the last newline character of a Body, Header, Footer, Footnote, TableCell or TableOfContents. * Deleting the start or end of a Table, TableOfContents or Equation without deleting the entire element. * Deleting the newline character before a Table, TableOfContents or SectionBreak without deleting the element. * Deleting individual rows or cells of a table. Deleting the content within a table cell is allowed. */ + range?: GoogleDocs.Range; + }; + /** Deletes a Footer from the document. */ + type DeleteFooterRequest = { + /** The id of the footer to delete. If this footer is defined on DocumentStyle, the reference to this footer is removed, resulting in no footer of that type for the first section of the document. If this footer is defined on a SectionStyle, the reference to this footer is removed and the footer of that type is now continued from the previous section. */ + footerId?: string; + /** The tab that contains the footer to delete. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document. */ + tabId?: string; + }; + /** Deletes a Header from the document. */ + type DeleteHeaderRequest = { + /** The id of the header to delete. If this header is defined on DocumentStyle, the reference to this header is removed, resulting in no header of that type for the first section of the document. If this header is defined on a SectionStyle, the reference to this header is removed and the header of that type is now continued from the previous section. */ + headerId?: string; + /** The tab containing the header to delete. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document. */ + tabId?: string; + }; + /** Deletes a NamedRange. */ + type DeleteNamedRangeRequest = { + /** The name of the range(s) to delete. All named ranges with the given name will be deleted. */ + name?: string; + /** The ID of the named range to delete. */ + namedRangeId?: string; + /** Optional. The criteria used to specify which tab(s) the range deletion should occur in. When omitted, the range deletion is applied to all tabs. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the range deletion applies to the singular tab. In a document containing multiple tabs: - If provided, the range deletion applies to the specified tabs. - If not provided, the range deletion applies to all tabs. */ + tabsCriteria?: GoogleDocs.TabsCriteria; + }; + /** Deletes bullets from all of the paragraphs that overlap with the given range. The nesting level of each paragraph will be visually preserved by adding indent to the start of the corresponding paragraph. */ + type DeleteParagraphBulletsRequest = { + /** The range to delete bullets from. */ + range?: GoogleDocs.Range; + }; + /** Deletes a PositionedObject from the document. */ + type DeletePositionedObjectRequest = { + /** The ID of the positioned object to delete. */ + objectId?: string; + /** The tab that the positioned object to delete is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document. */ + tabId?: string; + }; + /** Deletes a column from a table. */ + type DeleteTableColumnRequest = { + /** The reference table cell location from which the column will be deleted. The column this cell spans will be deleted. If this is a merged cell that spans multiple columns, all columns that the cell spans will be deleted. If no columns remain in the table after this deletion, the whole table is deleted. */ + tableCellLocation?: GoogleDocs.TableCellLocation; + }; + /** Deletes a row from a table. */ + type DeleteTableRowRequest = { + /** The reference table cell location from which the row will be deleted. The row this cell spans will be deleted. If this is a merged cell that spans multiple rows, all rows that the cell spans will be deleted. If no rows remain in the table after this deletion, the whole table is deleted. */ + tableCellLocation?: GoogleDocs.TableCellLocation; + }; + /** Deletes a tab. If the tab has child tabs, they are deleted as well. */ + type DeleteTabRequest = { + /** The ID of the tab to delete. */ + tabId?: string; + }; + /** A magnitude in a single direction in the specified units. */ + type Dimension = { + /** The magnitude. */ + magnitude?: number; + /** The units for magnitude. */ + unit?: "UNIT_UNSPECIFIED" | "PT"; + }; + /** A Google Docs document. */ + type Document = { + /** Output only. The main body of the document. Legacy field: Instead, use Document.tabs.documentTab.body, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document. */ + body?: GoogleDocs.Body; + /** Output only. The ID of the document. */ + documentId?: string; + /** Output only. The style of the document. Legacy field: Instead, use Document.tabs.documentTab.documentStyle, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document. */ + documentStyle?: GoogleDocs.DocumentStyle; + /** Output only. The footers in the document, keyed by footer ID. Legacy field: Instead, use Document.tabs.documentTab.footers, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document. */ + footers?: Record; + /** Output only. The footnotes in the document, keyed by footnote ID. Legacy field: Instead, use Document.tabs.documentTab.footnotes, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document. */ + footnotes?: Record; + /** Output only. The headers in the document, keyed by header ID. Legacy field: Instead, use Document.tabs.documentTab.headers, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document. */ + headers?: Record; + /** Output only. The inline objects in the document, keyed by object ID. Legacy field: Instead, use Document.tabs.documentTab.inlineObjects, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document. */ + inlineObjects?: Record; + /** Output only. The lists in the document, keyed by list ID. Legacy field: Instead, use Document.tabs.documentTab.lists, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document. */ + lists?: Record; + /** Output only. The named ranges in the document, keyed by name. Legacy field: Instead, use Document.tabs.documentTab.namedRanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document. */ + namedRanges?: Record; + /** Output only. The named styles of the document. Legacy field: Instead, use Document.tabs.documentTab.namedStyles, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document. */ + namedStyles?: GoogleDocs.NamedStyles; + /** Output only. The positioned objects in the document, keyed by object ID. Legacy field: Instead, use Document.tabs.documentTab.positionedObjects, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document. */ + positionedObjects?: Record; + /** Output only. The revision ID of the document. Can be used in update requests to specify which revision of a document to apply updates to and how the request should behave if the document has been edited since that revision. Only populated if the user has edit access to the document. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the document has not changed. Conversely, a changed ID (for the same document and user) usually means the document has been updated. However, a changed ID can also be due to internal factors such as ID format changes. */ + revisionId?: string; + /** Output only. The suggested changes to the style of the document, keyed by suggestion ID. Legacy field: Instead, use Document.tabs.documentTab.suggestedDocumentStyleChanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document. */ + suggestedDocumentStyleChanges?: Record; + /** Output only. The suggested changes to the named styles of the document, keyed by suggestion ID. Legacy field: Instead, use Document.tabs.documentTab.suggestedNamedStylesChanges, which exposes the actual document content from all tabs when the includeTabsContent parameter is set to `true`. If `false` or unset, this field contains information about the first tab in the document. */ + suggestedNamedStylesChanges?: Record; + /** Output only. The suggestions view mode applied to the document. Note: When editing a document, changes must be based on a document with SUGGESTIONS_INLINE. */ + suggestionsViewMode?: "DEFAULT_FOR_CURRENT_ACCESS" | "SUGGESTIONS_INLINE" | "PREVIEW_SUGGESTIONS_ACCEPTED" | "PREVIEW_WITHOUT_SUGGESTIONS"; + /** Tabs that are part of a document. Tabs can contain child tabs, a tab nested within another tab. Child tabs are represented by the Tab.childTabs field. */ + tabs?: Array; + /** The title of the document. */ + title?: string; + }; + /** Represents document-level format settings. */ + type DocumentFormat = { + /** Whether the document has pages or is pageless. */ + documentMode?: "DOCUMENT_MODE_UNSPECIFIED" | "PAGES" | "PAGELESS"; + }; + /** The style of the document. */ + type DocumentStyle = { + /** The background of the document. Documents cannot have a transparent background color. */ + background?: GoogleDocs.Background; + /** The ID of the default footer. If not set, there's no default footer. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only. */ + defaultFooterId?: string; + /** The ID of the default header. If not set, there's no default header. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only. */ + defaultHeaderId?: string; + /** Specifies document-level format settings, such as the document mode (pages vs pageless). */ + documentFormat?: GoogleDocs.DocumentFormat; + /** The ID of the footer used only for even pages. The value of use_even_page_header_footer determines whether to use the default_footer_id or this value for the footer on even pages. If not set, there's no even page footer. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only. */ + evenPageFooterId?: string; + /** The ID of the header used only for even pages. The value of use_even_page_header_footer determines whether to use the default_header_id or this value for the header on even pages. If not set, there's no even page header. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only. */ + evenPageHeaderId?: string; + /** The ID of the footer used only for the first page. If not set then a unique footer for the first page does not exist. The value of use_first_page_header_footer determines whether to use the default_footer_id or this value for the footer on the first page. If not set, there's no first page footer. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only. */ + firstPageFooterId?: string; + /** The ID of the header used only for the first page. If not set then a unique header for the first page does not exist. The value of use_first_page_header_footer determines whether to use the default_header_id or this value for the header on the first page. If not set, there's no first page header. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only. */ + firstPageHeaderId?: string; + /** Optional. Indicates whether to flip the dimensions of the page_size, which allows changing the page orientation between portrait and landscape. If DocumentMode is PAGELESS, this property will not be rendered. */ + flipPageOrientation?: boolean; + /** The bottom page margin. Updating the bottom page margin on the document style clears the bottom page margin on all section styles. If DocumentMode is PAGELESS, this property will not be rendered. */ + marginBottom?: GoogleDocs.Dimension; + /** The amount of space between the bottom of the page and the contents of the footer. If DocumentMode is PAGELESS, this property will not be rendered. */ + marginFooter?: GoogleDocs.Dimension; + /** The amount of space between the top of the page and the contents of the header. If DocumentMode is PAGELESS, this property will not be rendered. */ + marginHeader?: GoogleDocs.Dimension; + /** The left page margin. Updating the left page margin on the document style clears the left page margin on all section styles. It may also cause columns to resize in all sections. If DocumentMode is PAGELESS, this property will not be rendered. */ + marginLeft?: GoogleDocs.Dimension; + /** The right page margin. Updating the right page margin on the document style clears the right page margin on all section styles. It may also cause columns to resize in all sections. If DocumentMode is PAGELESS, this property will not be rendered. */ + marginRight?: GoogleDocs.Dimension; + /** The top page margin. Updating the top page margin on the document style clears the top page margin on all section styles. If DocumentMode is PAGELESS, this property will not be rendered. */ + marginTop?: GoogleDocs.Dimension; + /** The page number from which to start counting the number of pages. If DocumentMode is PAGELESS, this property will not be rendered. */ + pageNumberStart?: number; + /** The size of a page in the document. If DocumentMode is PAGELESS, this property will not be rendered. */ + pageSize?: GoogleDocs.Size; + /** Indicates whether DocumentStyle margin_header, SectionStyle margin_header and DocumentStyle margin_footer, SectionStyle margin_footer are respected. When false, the default values in the Docs editor for header and footer margin is used. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only. */ + useCustomHeaderFooterMargins?: boolean; + /** Indicates whether to use the even page header / footer IDs for the even pages. If DocumentMode is PAGELESS, this property will not be rendered. */ + useEvenPageHeaderFooter?: boolean; + /** Indicates whether to use the first page header / footer IDs for the first page. If DocumentMode is PAGELESS, this property will not be rendered. */ + useFirstPageHeaderFooter?: boolean; + }; + /** A mask that indicates which of the fields on the base DocumentStyle have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type DocumentStyleSuggestionState = { + /** A mask that indicates which of the fields in background have been changed in this suggestion. */ + backgroundSuggestionState?: GoogleDocs.BackgroundSuggestionState; + /** Indicates if there was a suggested change to default_footer_id. */ + defaultFooterIdSuggested?: boolean; + /** Indicates if there was a suggested change to default_header_id. */ + defaultHeaderIdSuggested?: boolean; + /** Indicates if there was a suggested change to even_page_footer_id. */ + evenPageFooterIdSuggested?: boolean; + /** Indicates if there was a suggested change to even_page_header_id. */ + evenPageHeaderIdSuggested?: boolean; + /** Indicates if there was a suggested change to first_page_footer_id. */ + firstPageFooterIdSuggested?: boolean; + /** Indicates if there was a suggested change to first_page_header_id. */ + firstPageHeaderIdSuggested?: boolean; + /** Optional. Indicates if there was a suggested change to flip_page_orientation. */ + flipPageOrientationSuggested?: boolean; + /** Indicates if there was a suggested change to margin_bottom. */ + marginBottomSuggested?: boolean; + /** Indicates if there was a suggested change to margin_footer. */ + marginFooterSuggested?: boolean; + /** Indicates if there was a suggested change to margin_header. */ + marginHeaderSuggested?: boolean; + /** Indicates if there was a suggested change to margin_left. */ + marginLeftSuggested?: boolean; + /** Indicates if there was a suggested change to margin_right. */ + marginRightSuggested?: boolean; + /** Indicates if there was a suggested change to margin_top. */ + marginTopSuggested?: boolean; + /** Indicates if there was a suggested change to page_number_start. */ + pageNumberStartSuggested?: boolean; + /** A mask that indicates which of the fields in size have been changed in this suggestion. */ + pageSizeSuggestionState?: GoogleDocs.SizeSuggestionState; + /** Indicates if there was a suggested change to use_custom_header_footer_margins. */ + useCustomHeaderFooterMarginsSuggested?: boolean; + /** Indicates if there was a suggested change to use_even_page_header_footer. */ + useEvenPageHeaderFooterSuggested?: boolean; + /** Indicates if there was a suggested change to use_first_page_header_footer. */ + useFirstPageHeaderFooterSuggested?: boolean; + }; + /** A tab with document contents. */ + type DocumentTab = { + /** The main body of the document tab. */ + body?: GoogleDocs.Body; + /** The style of the document tab. */ + documentStyle?: GoogleDocs.DocumentStyle; + /** The footers in the document tab, keyed by footer ID. */ + footers?: Record; + /** The footnotes in the document tab, keyed by footnote ID. */ + footnotes?: Record; + /** The headers in the document tab, keyed by header ID. */ + headers?: Record; + /** The inline objects in the document tab, keyed by object ID. */ + inlineObjects?: Record; + /** The lists in the document tab, keyed by list ID. */ + lists?: Record; + /** The named ranges in the document tab, keyed by name. */ + namedRanges?: Record; + /** The named styles of the document tab. */ + namedStyles?: GoogleDocs.NamedStyles; + /** The positioned objects in the document tab, keyed by object ID. */ + positionedObjects?: Record; + /** The suggested changes to the style of the document tab, keyed by suggestion ID. */ + suggestedDocumentStyleChanges?: Record; + /** The suggested changes to the named styles of the document tab, keyed by suggestion ID. */ + suggestedNamedStylesChanges?: Record; + }; + /** The properties of an embedded drawing and used to differentiate the object type. An embedded drawing is one that's created and edited within a document. Note that extensive details are not supported. */ + type EmbeddedDrawingProperties = Record; + /** A mask that indicates which of the fields on the base EmbeddedDrawingProperties have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type EmbeddedDrawingPropertiesSuggestionState = Record; + /** An embedded object in the document. */ + type EmbeddedObject = { + /** The description of the embedded object. The `title` and `description` are both combined to display alt text. */ + description?: string; + /** The properties of an embedded drawing. */ + embeddedDrawingProperties?: GoogleDocs.EmbeddedDrawingProperties; + /** The border of the embedded object. */ + embeddedObjectBorder?: GoogleDocs.EmbeddedObjectBorder; + /** The properties of an image. */ + imageProperties?: GoogleDocs.ImageProperties; + /** A reference to the external linked source content. For example, it contains a reference to the source Google Sheets chart when the embedded object is a linked chart. If unset, then the embedded object is not linked. */ + linkedContentReference?: GoogleDocs.LinkedContentReference; + /** The bottom margin of the embedded object. */ + marginBottom?: GoogleDocs.Dimension; + /** The left margin of the embedded object. */ + marginLeft?: GoogleDocs.Dimension; + /** The right margin of the embedded object. */ + marginRight?: GoogleDocs.Dimension; + /** The top margin of the embedded object. */ + marginTop?: GoogleDocs.Dimension; + /** The visible size of the image after cropping. */ + size?: GoogleDocs.Size; + /** The title of the embedded object. The `title` and `description` are both combined to display alt text. */ + title?: string; + }; + /** A border around an EmbeddedObject. */ + type EmbeddedObjectBorder = { + /** The color of the border. */ + color?: GoogleDocs.OptionalColor; + /** The dash style of the border. */ + dashStyle?: "DASH_STYLE_UNSPECIFIED" | "SOLID" | "DOT" | "DASH"; + /** The property state of the border property. */ + propertyState?: "RENDERED" | "NOT_RENDERED"; + /** The width of the border. */ + width?: GoogleDocs.Dimension; + }; + /** A mask that indicates which of the fields on the base EmbeddedObjectBorder have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type EmbeddedObjectBorderSuggestionState = { + /** Indicates if there was a suggested change to color. */ + colorSuggested?: boolean; + /** Indicates if there was a suggested change to dash_style. */ + dashStyleSuggested?: boolean; + /** Indicates if there was a suggested change to property_state. */ + propertyStateSuggested?: boolean; + /** Indicates if there was a suggested change to width. */ + widthSuggested?: boolean; + }; + /** A mask that indicates which of the fields on the base EmbeddedObject have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type EmbeddedObjectSuggestionState = { + /** Indicates if there was a suggested change to description. */ + descriptionSuggested?: boolean; + /** A mask that indicates which of the fields in embedded_drawing_properties have been changed in this suggestion. */ + embeddedDrawingPropertiesSuggestionState?: GoogleDocs.EmbeddedDrawingPropertiesSuggestionState; + /** A mask that indicates which of the fields in embedded_object_border have been changed in this suggestion. */ + embeddedObjectBorderSuggestionState?: GoogleDocs.EmbeddedObjectBorderSuggestionState; + /** A mask that indicates which of the fields in image_properties have been changed in this suggestion. */ + imagePropertiesSuggestionState?: GoogleDocs.ImagePropertiesSuggestionState; + /** A mask that indicates which of the fields in linked_content_reference have been changed in this suggestion. */ + linkedContentReferenceSuggestionState?: GoogleDocs.LinkedContentReferenceSuggestionState; + /** Indicates if there was a suggested change to margin_bottom. */ + marginBottomSuggested?: boolean; + /** Indicates if there was a suggested change to margin_left. */ + marginLeftSuggested?: boolean; + /** Indicates if there was a suggested change to margin_right. */ + marginRightSuggested?: boolean; + /** Indicates if there was a suggested change to margin_top. */ + marginTopSuggested?: boolean; + /** A mask that indicates which of the fields in size have been changed in this suggestion. */ + sizeSuggestionState?: GoogleDocs.SizeSuggestionState; + /** Indicates if there was a suggested change to title. */ + titleSuggested?: boolean; + }; + /** Location at the end of a body, header, footer or footnote. The location is immediately before the last newline in the document segment. */ + type EndOfSegmentLocation = { + /** The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body. */ + segmentId?: string; + /** The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document. */ + tabId?: string; + }; + /** A ParagraphElement representing an equation. */ + type Equation = { + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion IDs. An Equation may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion. */ + suggestedInsertionIds?: Array; + }; + /** A document footer. */ + type Footer = { + /** The contents of the footer. The indexes for a footer's content begin at zero. */ + content?: Array; + /** The ID of the footer. */ + footerId?: string; + }; + /** A document footnote. */ + type Footnote = { + /** The contents of the footnote. The indexes for a footnote's content begin at zero. */ + content?: Array; + /** The ID of the footnote. */ + footnoteId?: string; + }; + /** A ParagraphElement representing a footnote reference. A footnote reference is the inline content rendered with a number and is used to identify the footnote. */ + type FootnoteReference = { + /** The ID of the footnote that contains the content of this footnote reference. */ + footnoteId?: string; + /** The rendered number of this footnote. */ + footnoteNumber?: string; + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion IDs. A FootnoteReference may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion. */ + suggestedInsertionIds?: Array; + /** The suggested text style changes to this FootnoteReference, keyed by suggestion ID. */ + suggestedTextStyleChanges?: Record; + /** The text style of this FootnoteReference. */ + textStyle?: GoogleDocs.TextStyle; + }; + /** A document header. */ + type Header = { + /** The contents of the header. The indexes for a header's content begin at zero. */ + content?: Array; + /** The ID of the header. */ + headerId?: string; + }; + /** A reference to a heading in this document. */ + type HeadingLink = { + /** The ID of a heading in this document. */ + id?: string; + /** The ID of the tab containing this heading. */ + tabId?: string; + }; + /** A ParagraphElement representing a horizontal line. */ + type HorizontalRule = { + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion IDs. A HorizontalRule may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion. */ + suggestedInsertionIds?: Array; + /** The suggested text style changes to this HorizontalRule, keyed by suggestion ID. */ + suggestedTextStyleChanges?: Record; + /** The text style of this HorizontalRule. Similar to text content, like text runs and footnote references, the text style of a horizontal rule can affect content layout as well as the styling of text inserted next to it. */ + textStyle?: GoogleDocs.TextStyle; + }; + /** The properties of an image. */ + type ImageProperties = { + /** The clockwise rotation angle of the image, in radians. */ + angle?: number; + /** The brightness effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. */ + brightness?: number; + /** A URI to the image with a default lifetime of 30 minutes. This URI is tagged with the account of the requester. Anyone with the URI effectively accesses the image as the original requester. Access to the image may be lost if the document's sharing settings change. */ + contentUri?: string; + /** The contrast effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. */ + contrast?: number; + /** The crop properties of the image. */ + cropProperties?: GoogleDocs.CropProperties; + /** The source URI is the URI used to insert the image. The source URI can be empty. */ + sourceUri?: string; + /** The transparency effect of the image. The value should be in the interval [0.0, 1.0], where 0 means no effect and 1 means transparent. */ + transparency?: number; + }; + /** A mask that indicates which of the fields on the base ImageProperties have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type ImagePropertiesSuggestionState = { + /** Indicates if there was a suggested change to angle. */ + angleSuggested?: boolean; + /** Indicates if there was a suggested change to brightness. */ + brightnessSuggested?: boolean; + /** Indicates if there was a suggested change to content_uri. */ + contentUriSuggested?: boolean; + /** Indicates if there was a suggested change to contrast. */ + contrastSuggested?: boolean; + /** A mask that indicates which of the fields in crop_properties have been changed in this suggestion. */ + cropPropertiesSuggestionState?: GoogleDocs.CropPropertiesSuggestionState; + /** Indicates if there was a suggested change to source_uri. */ + sourceUriSuggested?: boolean; + /** Indicates if there was a suggested change to transparency. */ + transparencySuggested?: boolean; + }; + /** An object that appears inline with text. An InlineObject contains an EmbeddedObject such as an image. */ + type InlineObject = { + /** The properties of this inline object. */ + inlineObjectProperties?: GoogleDocs.InlineObjectProperties; + /** The ID of this inline object. Can be used to update an object’s properties. */ + objectId?: string; + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested changes to the inline object properties, keyed by suggestion ID. */ + suggestedInlineObjectPropertiesChanges?: Record; + /** The suggested insertion ID. If empty, then this is not a suggested insertion. */ + suggestedInsertionId?: string; + }; + /** A ParagraphElement that contains an InlineObject. */ + type InlineObjectElement = { + /** The ID of the InlineObject this element contains. */ + inlineObjectId?: string; + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion IDs. An InlineObjectElement may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion. */ + suggestedInsertionIds?: Array; + /** The suggested text style changes to this InlineObject, keyed by suggestion ID. */ + suggestedTextStyleChanges?: Record; + /** The text style of this InlineObjectElement. Similar to text content, like text runs and footnote references, the text style of an inline object element can affect content layout as well as the styling of text inserted next to it. */ + textStyle?: GoogleDocs.TextStyle; + }; + /** Properties of an InlineObject. */ + type InlineObjectProperties = { + /** The embedded object of this inline object. */ + embeddedObject?: GoogleDocs.EmbeddedObject; + }; + /** A mask that indicates which of the fields on the base InlineObjectProperties have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type InlineObjectPropertiesSuggestionState = { + /** A mask that indicates which of the fields in embedded_object have been changed in this suggestion. */ + embeddedObjectSuggestionState?: GoogleDocs.EmbeddedObjectSuggestionState; + }; + /** Inserts a date at the specified location. */ + type InsertDateRequest = { + /** The properties of the date to insert. */ + dateElementProperties?: GoogleDocs.DateElementProperties; + /** Inserts the date at the end of the given header, footer or document body. */ + endOfSegmentLocation?: GoogleDocs.EndOfSegmentLocation; + /** Inserts the date at a specific index in the document. The date must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table's start index (i.e. between an existing table and its preceding paragraph). */ + location?: GoogleDocs.Location; + }; + /** Inserts an InlineObject containing an image at the given location. */ + type InsertInlineImageRequest = { + /** Inserts the text at the end of a header, footer or the document body. Inline images cannot be inserted inside a footnote. */ + endOfSegmentLocation?: GoogleDocs.EndOfSegmentLocation; + /** Inserts the image at a specific index in the document. The image must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table's start index (i.e. between the table and its preceding paragraph). Inline images cannot be inserted inside a footnote or equation. */ + location?: GoogleDocs.Location; + /** The size that the image should appear as in the document. This property is optional and the final size of the image in the document is determined by the following rules: * If neither width nor height is specified, then a default size of the image is calculated based on its resolution. * If one dimension is specified then the other dimension is calculated to preserve the aspect ratio of the image. * If both width and height are specified, the image is scaled to fit within the provided dimensions while maintaining its aspect ratio. */ + objectSize?: GoogleDocs.Size; + /** The image URI. The image is fetched once at insertion time and a copy is stored for display inside the document. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URI must be publicly accessible and at most 2 kB in length. The URI itself is saved with the image, and exposed via the ImageProperties.content_uri field. */ + uri?: string; + }; + /** The result of inserting an inline image. */ + type InsertInlineImageResponse = { + /** The ID of the created InlineObject. */ + objectId?: string; + }; + /** The result of inserting an embedded Google Sheets chart. */ + type InsertInlineSheetsChartResponse = { + /** The object ID of the inserted chart. */ + objectId?: string; + }; + /** Inserts a page break followed by a newline at the specified location. */ + type InsertPageBreakRequest = { + /** Inserts the page break at the end of the document body. Page breaks cannot be inserted inside a footnote, header or footer. Since page breaks can only be inserted inside the body, the segment ID field must be empty. */ + endOfSegmentLocation?: GoogleDocs.EndOfSegmentLocation; + /** Inserts the page break at a specific index in the document. The page break must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table's start index (i.e. between the table and its preceding paragraph). Page breaks cannot be inserted inside a table, equation, footnote, header or footer. Since page breaks can only be inserted inside the body, the segment ID field must be empty. */ + location?: GoogleDocs.Location; + }; + /** Inserts a person mention. */ + type InsertPersonRequest = { + /** Inserts the person mention at the end of a header, footer, footnote or the document body. */ + endOfSegmentLocation?: GoogleDocs.EndOfSegmentLocation; + /** Inserts the person mention at a specific index in the document. The person mention must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table's start index (i.e. between the table and its preceding paragraph). Person mentions cannot be inserted inside an equation. */ + location?: GoogleDocs.Location; + /** The properties of the person mention to insert. */ + personProperties?: GoogleDocs.PersonProperties; + }; + /** Inserts a RichLink at the specified location. */ + type InsertRichLinkRequest = { + /** Inserts the rich link at the end of a header, footer, footnote or the document body. */ + endOfSegmentLocation?: GoogleDocs.EndOfSegmentLocation; + /** Inserts the rich link at a specific index in the document. The rich link must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table's start index (i.e. between the table and its preceding paragraph). The rich link cannot be inserted inside an equation. */ + location?: GoogleDocs.Location; + /** The properties of the rich link to insert. */ + richLinkProperties?: GoogleDocs.RichLinkProperties; + }; + /** Inserts a section break at the given location. A newline character will be inserted before the section break. */ + type InsertSectionBreakRequest = { + /** Inserts a newline and a section break at the end of the document body. Section breaks cannot be inserted inside a footnote, header or footer. Because section breaks can only be inserted inside the body, the segment ID field must be empty. */ + endOfSegmentLocation?: GoogleDocs.EndOfSegmentLocation; + /** Inserts a newline and a section break at a specific index in the document. The section break must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table's start index (i.e. between the table and its preceding paragraph). Section breaks cannot be inserted inside a table, equation, footnote, header, or footer. Since section breaks can only be inserted inside the body, the segment ID field must be empty. */ + location?: GoogleDocs.Location; + /** The type of section to insert. */ + sectionType?: "SECTION_TYPE_UNSPECIFIED" | "CONTINUOUS" | "NEXT_PAGE"; + }; + /** Inserts an empty column into a table. */ + type InsertTableColumnRequest = { + /** Whether to insert new column to the right of the reference cell location. - `True`: insert to the right. - `False`: insert to the left. */ + insertRight?: boolean; + /** The reference table cell location from which columns will be inserted. A new column will be inserted to the left (or right) of the column where the reference cell is. If the reference cell is a merged cell, a new column will be inserted to the left (or right) of the merged cell. */ + tableCellLocation?: GoogleDocs.TableCellLocation; + }; + /** Inserts a table at the specified location. A newline character will be inserted before the inserted table. */ + type InsertTableRequest = { + /** The number of columns in the table. */ + columns?: number; + /** Inserts the table at the end of the given header, footer or document body. A newline character will be inserted before the inserted table. Tables cannot be inserted inside a footnote. */ + endOfSegmentLocation?: GoogleDocs.EndOfSegmentLocation; + /** Inserts the table at a specific model index. A newline character will be inserted before the inserted table, therefore the table start index will be at the specified location index + 1. The table must be inserted inside the bounds of an existing Paragraph. For instance, it cannot be inserted at a table's start index (i.e. between an existing table and its preceding paragraph). Tables cannot be inserted inside a footnote or equation. */ + location?: GoogleDocs.Location; + /** The number of rows in the table. */ + rows?: number; + }; + /** Inserts an empty row into a table. */ + type InsertTableRowRequest = { + /** Whether to insert new row below the reference cell location. - `True`: insert below the cell. - `False`: insert above the cell. */ + insertBelow?: boolean; + /** The reference table cell location from which rows will be inserted. A new row will be inserted above (or below) the row where the reference cell is. If the reference cell is a merged cell, a new row will be inserted above (or below) the merged cell. */ + tableCellLocation?: GoogleDocs.TableCellLocation; + }; + /** Inserts text at the specified location. */ + type InsertTextRequest = { + /** Inserts the text at the end of a header, footer, footnote or the document body. */ + endOfSegmentLocation?: GoogleDocs.EndOfSegmentLocation; + /** Inserts the text at a specific index in the document. Text must be inserted inside the bounds of an existing Paragraph. For instance, text cannot be inserted at a table's start index (i.e. between the table and its preceding paragraph). The text must be inserted in the preceding paragraph. */ + location?: GoogleDocs.Location; + /** The text to be inserted. Inserting a newline character will implicitly create a new Paragraph at that index. The paragraph style of the new paragraph will be copied from the paragraph at the current insertion index, including lists and bullets. Text styles for inserted text will be determined automatically, generally preserving the styling of neighboring text. In most cases, the text style for the inserted text will match the text immediately before the insertion index. Some control characters (U+0000-U+0008, U+000C-U+001F) and characters from the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF) will be stripped out of the inserted text. */ + text?: string; + }; + /** A reference to another portion of a document or an external URL resource. */ + type Link = { + /** A bookmark in this document. In documents containing a single tab, links to bookmarks within the singular tab continue to return Link.bookmarkId when the includeTabsContent parameter is set to `false` or unset. Otherwise, this field is returned. */ + bookmark?: GoogleDocs.BookmarkLink; + /** The ID of a bookmark in this document. Legacy field: Instead, set includeTabsContent to `true` and use Link.bookmark for read and write operations. This field is only returned when includeTabsContent is set to `false` in documents containing a single tab and links to a bookmark within the singular tab. Otherwise, Link.bookmark is returned. If this field is used in a write request, the bookmark is considered to be from the tab ID specified in the request. If a tab ID is not specified in the request, it is considered to be from the first tab in the document. */ + bookmarkId?: string; + /** A heading in this document. In documents containing a single tab, links to headings within the singular tab continue to return Link.headingId when the includeTabsContent parameter is set to `false` or unset. Otherwise, this field is returned. */ + heading?: GoogleDocs.HeadingLink; + /** The ID of a heading in this document. Legacy field: Instead, set includeTabsContent to `true` and use Link.heading for read and write operations. This field is only returned when includeTabsContent is set to `false` in documents containing a single tab and links to a heading within the singular tab. Otherwise, Link.heading is returned. If this field is used in a write request, the heading is considered to be from the tab ID specified in the request. If a tab ID is not specified in the request, it is considered to be from the first tab in the document. */ + headingId?: string; + /** The ID of a tab in this document. */ + tabId?: string; + /** An external URL. */ + url?: string; + }; + /** A reference to the external linked source content. */ + type LinkedContentReference = { + /** A reference to the linked chart. */ + sheetsChartReference?: GoogleDocs.SheetsChartReference; + }; + /** A mask that indicates which of the fields on the base LinkedContentReference have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type LinkedContentReferenceSuggestionState = { + /** A mask that indicates which of the fields in sheets_chart_reference have been changed in this suggestion. */ + sheetsChartReferenceSuggestionState?: GoogleDocs.SheetsChartReferenceSuggestionState; + }; + /** A List represents the list attributes for a group of paragraphs that all belong to the same list. A paragraph that's part of a list has a reference to the list's ID in its bullet. */ + type List = { + /** The properties of the list. */ + listProperties?: GoogleDocs.ListProperties; + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this list. */ + suggestedDeletionIds?: Array; + /** The suggested insertion ID. If empty, then this is not a suggested insertion. */ + suggestedInsertionId?: string; + /** The suggested changes to the list properties, keyed by suggestion ID. */ + suggestedListPropertiesChanges?: Record; + }; + /** The properties of a list that describe the look and feel of bullets belonging to paragraphs associated with a list. */ + type ListProperties = { + /** Describes the properties of the bullets at the associated level. A list has at most 9 levels of nesting with nesting level 0 corresponding to the top-most level and nesting level 8 corresponding to the most nested level. The nesting levels are returned in ascending order with the least nested returned first. */ + nestingLevels?: Array; + }; + /** A mask that indicates which of the fields on the base ListProperties have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type ListPropertiesSuggestionState = { + /** A mask that indicates which of the fields on the corresponding NestingLevel in nesting_levels have been changed in this suggestion. The nesting level suggestion states are returned in ascending order of the nesting level with the least nested returned first. */ + nestingLevelsSuggestionStates?: Array; + }; + /** A particular location in the document. */ + type Location = { + /** The zero-based index, in UTF-16 code units. The index is relative to the beginning of the segment specified by segment_id. */ + index?: number; + /** The ID of the header, footer or footnote the location is in. An empty segment ID signifies the document's body. */ + segmentId?: string; + /** The tab that the location is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document. */ + tabId?: string; + }; + /** Merges cells in a Table. */ + type MergeTableCellsRequest = { + /** The table range specifying which cells of the table to merge. Any text in the cells being merged will be concatenated and stored in the "head" cell of the range. This is the upper-left cell of the range when the content direction is left to right, and the upper-right cell of the range otherwise. If the range is non-rectangular (which can occur in some cases where the range covers cells that are already merged or where the table is non-rectangular), a 400 bad request error is returned. */ + tableRange?: GoogleDocs.TableRange; + }; + /** A collection of Ranges with the same named range ID. Named ranges allow developers to associate parts of a document with an arbitrary user-defined label so their contents can be programmatically read or edited later. A document can contain multiple named ranges with the same name, but every named range has a unique ID. A named range is created with a single Range, and content inserted inside a named range generally expands that range. However, certain document changes can cause the range to be split into multiple ranges. Named ranges are not private. All applications and collaborators that have access to the document can see its named ranges. */ + type NamedRange = { + /** The name of the named range. */ + name?: string; + /** The ID of the named range. */ + namedRangeId?: string; + /** The ranges that belong to this named range. */ + ranges?: Array; + }; + /** A collection of all the NamedRanges in the document that share a given name. */ + type NamedRanges = { + /** The name that all the named ranges share. */ + name?: string; + /** The NamedRanges that share the same name. */ + namedRanges?: Array; + }; + /** A named style. Paragraphs in the document can inherit their TextStyle and ParagraphStyle from this named style when they have the same named style type. */ + type NamedStyle = { + /** The type of this named style. */ + namedStyleType?: "NAMED_STYLE_TYPE_UNSPECIFIED" | "NORMAL_TEXT" | "TITLE" | "SUBTITLE" | "HEADING_1" | "HEADING_2" | "HEADING_3" | "HEADING_4" | "HEADING_5" | "HEADING_6"; + /** The paragraph style of this named style. */ + paragraphStyle?: GoogleDocs.ParagraphStyle; + /** The text style of this named style. */ + textStyle?: GoogleDocs.TextStyle; + }; + /** The named styles. Paragraphs in the document can inherit their TextStyle and ParagraphStyle from these named styles. */ + type NamedStyles = { + /** The named styles. There's an entry for each of the possible named style types. */ + styles?: Array; + }; + /** The suggestion state of a NamedStyles message. */ + type NamedStylesSuggestionState = { + /** A mask that indicates which of the fields on the corresponding NamedStyle in styles have been changed in this suggestion. The order of these named style suggestion states matches the order of the corresponding named style within the named styles suggestion. */ + stylesSuggestionStates?: Array; + }; + /** A suggestion state of a NamedStyle message. */ + type NamedStyleSuggestionState = { + /** The named style type that this suggestion state corresponds to. This field is provided as a convenience for matching the NamedStyleSuggestionState with its corresponding NamedStyle. */ + namedStyleType?: "NAMED_STYLE_TYPE_UNSPECIFIED" | "NORMAL_TEXT" | "TITLE" | "SUBTITLE" | "HEADING_1" | "HEADING_2" | "HEADING_3" | "HEADING_4" | "HEADING_5" | "HEADING_6"; + /** A mask that indicates which of the fields in paragraph style have been changed in this suggestion. */ + paragraphStyleSuggestionState?: GoogleDocs.ParagraphStyleSuggestionState; + /** A mask that indicates which of the fields in text style have been changed in this suggestion. */ + textStyleSuggestionState?: GoogleDocs.TextStyleSuggestionState; + }; + /** Contains properties describing the look and feel of a list bullet at a given level of nesting. */ + type NestingLevel = { + /** The alignment of the bullet within the space allotted for rendering the bullet. */ + bulletAlignment?: "BULLET_ALIGNMENT_UNSPECIFIED" | "START" | "CENTER" | "END"; + /** The format string used by bullets at this level of nesting. The glyph format contains one or more placeholders, and these placeholders are replaced with the appropriate values depending on the glyph_type or glyph_symbol. The placeholders follow the pattern `%[nesting_level]`. Furthermore, placeholders can have prefixes and suffixes. Thus, the glyph format follows the pattern `%[nesting_level]`. Note that the prefix and suffix are optional and can be arbitrary strings. For example, the glyph format `%0.` indicates that the rendered glyph will replace the placeholder with the corresponding glyph for nesting level 0 followed by a period as the suffix. So a list with a glyph type of UPPER_ALPHA and glyph format `%0.` at nesting level 0 will result in a list with rendered glyphs `A.` `B.` `C.` The glyph format can contain placeholders for the current nesting level as well as placeholders for parent nesting levels. For example, a list can have a glyph format of `%0.` at nesting level 0 and a glyph format of `%0.%1.` at nesting level 1. Assuming both nesting levels have DECIMAL glyph types, this would result in a list with rendered glyphs `1.` `2.` ` 2.1.` ` 2.2.` `3.` For nesting levels that are ordered, the string that replaces a placeholder in the glyph format for a particular paragraph depends on the paragraph's order within the list. */ + glyphFormat?: string; + /** A custom glyph symbol used by bullets when paragraphs at this level of nesting is unordered. The glyph symbol replaces placeholders within the glyph_format. For example, if the glyph_symbol is the solid circle corresponding to Unicode U+25cf code point and the glyph_format is `%0`, the rendered glyph would be the solid circle. */ + glyphSymbol?: string; + /** The type of glyph used by bullets when paragraphs at this level of nesting is ordered. The glyph type determines the type of glyph used to replace placeholders within the glyph_format when paragraphs at this level of nesting are ordered. For example, if the nesting level is 0, the glyph_format is `%0.` and the glyph type is DECIMAL, then the rendered glyph would replace the placeholder `%0` in the glyph format with a number corresponding to the list item's order within the list. */ + glyphType?: "GLYPH_TYPE_UNSPECIFIED" | "NONE" | "DECIMAL" | "ZERO_DECIMAL" | "UPPER_ALPHA" | "ALPHA" | "UPPER_ROMAN" | "ROMAN"; + /** The amount of indentation for the first line of paragraphs at this level of nesting. */ + indentFirstLine?: GoogleDocs.Dimension; + /** The amount of indentation for paragraphs at this level of nesting. Applied to the side that corresponds to the start of the text, based on the paragraph's content direction. */ + indentStart?: GoogleDocs.Dimension; + /** The number of the first list item at this nesting level. A value of 0 is treated as a value of 1 for lettered lists and Roman numeral lists. For values of both 0 and 1, lettered and Roman numeral lists will begin at `a` and `i` respectively. This value is ignored for nesting levels with unordered glyphs. */ + startNumber?: number; + /** The text style of bullets at this level of nesting. */ + textStyle?: GoogleDocs.TextStyle; + }; + /** A mask that indicates which of the fields on the base NestingLevel have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type NestingLevelSuggestionState = { + /** Indicates if there was a suggested change to bullet_alignment. */ + bulletAlignmentSuggested?: boolean; + /** Indicates if there was a suggested change to glyph_format. */ + glyphFormatSuggested?: boolean; + /** Indicates if there was a suggested change to glyph_symbol. */ + glyphSymbolSuggested?: boolean; + /** Indicates if there was a suggested change to glyph_type. */ + glyphTypeSuggested?: boolean; + /** Indicates if there was a suggested change to indent_first_line. */ + indentFirstLineSuggested?: boolean; + /** Indicates if there was a suggested change to indent_start. */ + indentStartSuggested?: boolean; + /** Indicates if there was a suggested change to start_number. */ + startNumberSuggested?: boolean; + /** A mask that indicates which of the fields in text style have been changed in this suggestion. */ + textStyleSuggestionState?: GoogleDocs.TextStyleSuggestionState; + }; + /** A collection of object IDs. */ + type ObjectReferences = { + /** The object IDs. */ + objectIds?: Array; + }; + /** A color that can either be fully opaque or fully transparent. */ + type OptionalColor = { + /** If set, this will be used as an opaque color. If unset, this represents a transparent color. */ + color?: GoogleDocs.Color; + }; + /** A ParagraphElement representing a page break. A page break makes the subsequent text start at the top of the next page. */ + type PageBreak = { + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion IDs. A PageBreak may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion. */ + suggestedInsertionIds?: Array; + /** The suggested text style changes to this PageBreak, keyed by suggestion ID. */ + suggestedTextStyleChanges?: Record; + /** The text style of this PageBreak. Similar to text content, like text runs and footnote references, the text style of a page break can affect content layout as well as the styling of text inserted next to it. */ + textStyle?: GoogleDocs.TextStyle; + }; + /** A StructuralElement representing a paragraph. A paragraph is a range of content that's terminated with a newline character. */ + type Paragraph = { + /** The bullet for this paragraph. If not present, the paragraph does not belong to a list. */ + bullet?: GoogleDocs.Bullet; + /** The content of the paragraph, broken down into its component parts. */ + elements?: Array; + /** The style of this paragraph. */ + paragraphStyle?: GoogleDocs.ParagraphStyle; + /** The IDs of the positioned objects tethered to this paragraph. */ + positionedObjectIds?: Array; + /** The suggested changes to this paragraph's bullet. */ + suggestedBulletChanges?: Record; + /** The suggested paragraph style changes to this paragraph, keyed by suggestion ID. */ + suggestedParagraphStyleChanges?: Record; + /** The IDs of the positioned objects suggested to be attached to this paragraph, keyed by suggestion ID. */ + suggestedPositionedObjectIds?: Record; + }; + /** A border around a paragraph. */ + type ParagraphBorder = { + /** The color of the border. */ + color?: GoogleDocs.OptionalColor; + /** The dash style of the border. */ + dashStyle?: "DASH_STYLE_UNSPECIFIED" | "SOLID" | "DOT" | "DASH"; + /** The padding of the border. */ + padding?: GoogleDocs.Dimension; + /** The width of the border. */ + width?: GoogleDocs.Dimension; + }; + /** A ParagraphElement describes content within a Paragraph. */ + type ParagraphElement = { + /** An auto text paragraph element. */ + autoText?: GoogleDocs.AutoText; + /** A column break paragraph element. */ + columnBreak?: GoogleDocs.ColumnBreak; + /** A paragraph element that represents a date. */ + dateElement?: GoogleDocs.DateElement; + /** The zero-base end index of this paragraph element, exclusive, in UTF-16 code units. */ + endIndex?: number; + /** An equation paragraph element. */ + equation?: GoogleDocs.Equation; + /** A footnote reference paragraph element. */ + footnoteReference?: GoogleDocs.FootnoteReference; + /** A horizontal rule paragraph element. */ + horizontalRule?: GoogleDocs.HorizontalRule; + /** An inline object paragraph element. */ + inlineObjectElement?: GoogleDocs.InlineObjectElement; + /** A page break paragraph element. */ + pageBreak?: GoogleDocs.PageBreak; + /** A paragraph element that links to a person or email address. */ + person?: GoogleDocs.Person; + /** A paragraph element that links to a Google resource (such as a file in Google Drive, a YouTube video, or a Calendar event.) */ + richLink?: GoogleDocs.RichLink; + /** The zero-based start index of this paragraph element, in UTF-16 code units. */ + startIndex?: number; + /** A text run paragraph element. */ + textRun?: GoogleDocs.TextRun; + }; + /** Styles that apply to a whole paragraph. Inherited paragraph styles are represented as unset fields in this message. A paragraph style's parent depends on where the paragraph style is defined: * The ParagraphStyle on a Paragraph inherits from the paragraph's corresponding named style type. * The ParagraphStyle on a named style inherits from the normal text named style. * The ParagraphStyle of the normal text named style inherits from the default paragraph style in the Docs editor. * The ParagraphStyle on a Paragraph element that's contained in a table may inherit its paragraph style from the table style. If the paragraph style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor. */ + type ParagraphStyle = { + /** The text alignment for this paragraph. */ + alignment?: "ALIGNMENT_UNSPECIFIED" | "START" | "CENTER" | "END" | "JUSTIFIED"; + /** Whether to avoid widows and orphans for the paragraph. If unset, the value is inherited from the parent. */ + avoidWidowAndOrphan?: boolean; + /** The border between this paragraph and the next and previous paragraphs. If unset, the value is inherited from the parent. The between border is rendered when the adjacent paragraph has the same border and indent properties. Paragraph borders cannot be partially updated. When changing a paragraph border, the new border must be specified in its entirety. */ + borderBetween?: GoogleDocs.ParagraphBorder; + /** The border at the bottom of this paragraph. If unset, the value is inherited from the parent. The bottom border is rendered when the paragraph below has different border and indent properties. Paragraph borders cannot be partially updated. When changing a paragraph border, the new border must be specified in its entirety. */ + borderBottom?: GoogleDocs.ParagraphBorder; + /** The border to the left of this paragraph. If unset, the value is inherited from the parent. Paragraph borders cannot be partially updated. When changing a paragraph border, the new border must be specified in its entirety. */ + borderLeft?: GoogleDocs.ParagraphBorder; + /** The border to the right of this paragraph. If unset, the value is inherited from the parent. Paragraph borders cannot be partially updated. When changing a paragraph border, the new border must be specified in its entirety. */ + borderRight?: GoogleDocs.ParagraphBorder; + /** The border at the top of this paragraph. If unset, the value is inherited from the parent. The top border is rendered when the paragraph above has different border and indent properties. Paragraph borders cannot be partially updated. When changing a paragraph border, the new border must be specified in its entirety. */ + borderTop?: GoogleDocs.ParagraphBorder; + /** The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since paragraph direction is not inherited. */ + direction?: "CONTENT_DIRECTION_UNSPECIFIED" | "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT"; + /** The heading ID of the paragraph. If empty, then this paragraph is not a heading. This property is read-only. */ + headingId?: string; + /** The amount of indentation for the paragraph on the side that corresponds to the end of the text, based on the current paragraph direction. If unset, the value is inherited from the parent. */ + indentEnd?: GoogleDocs.Dimension; + /** The amount of indentation for the first line of the paragraph. If unset, the value is inherited from the parent. */ + indentFirstLine?: GoogleDocs.Dimension; + /** The amount of indentation for the paragraph on the side that corresponds to the start of the text, based on the current paragraph direction. If unset, the value is inherited from the parent. */ + indentStart?: GoogleDocs.Dimension; + /** Whether all lines of the paragraph should be laid out on the same page or column if possible. If unset, the value is inherited from the parent. */ + keepLinesTogether?: boolean; + /** Whether at least a part of this paragraph should be laid out on the same page or column as the next paragraph if possible. If unset, the value is inherited from the parent. */ + keepWithNext?: boolean; + /** The amount of space between lines, as a percentage of normal, where normal is represented as 100.0. If unset, the value is inherited from the parent. */ + lineSpacing?: number; + /** The named style type of the paragraph. Since updating the named style type affects other properties within ParagraphStyle, the named style type is applied before the other properties are updated. */ + namedStyleType?: "NAMED_STYLE_TYPE_UNSPECIFIED" | "NORMAL_TEXT" | "TITLE" | "SUBTITLE" | "HEADING_1" | "HEADING_2" | "HEADING_3" | "HEADING_4" | "HEADING_5" | "HEADING_6"; + /** Whether the current paragraph should always start at the beginning of a page. If unset, the value is inherited from the parent. Attempting to update page_break_before for paragraphs in unsupported regions, including Table, Header, Footer and Footnote, can result in an invalid document state that returns a 400 bad request error. */ + pageBreakBefore?: boolean; + /** The shading of the paragraph. If unset, the value is inherited from the parent. */ + shading?: GoogleDocs.Shading; + /** The amount of extra space above the paragraph. If unset, the value is inherited from the parent. */ + spaceAbove?: GoogleDocs.Dimension; + /** The amount of extra space below the paragraph. If unset, the value is inherited from the parent. */ + spaceBelow?: GoogleDocs.Dimension; + /** The spacing mode for the paragraph. */ + spacingMode?: "SPACING_MODE_UNSPECIFIED" | "NEVER_COLLAPSE" | "COLLAPSE_LISTS"; + /** A list of the tab stops for this paragraph. The list of tab stops is not inherited. This property is read-only. */ + tabStops?: Array; + }; + /** A mask that indicates which of the fields on the base ParagraphStyle have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type ParagraphStyleSuggestionState = { + /** Indicates if there was a suggested change to alignment. */ + alignmentSuggested?: boolean; + /** Indicates if there was a suggested change to avoid_widow_and_orphan. */ + avoidWidowAndOrphanSuggested?: boolean; + /** Indicates if there was a suggested change to border_between. */ + borderBetweenSuggested?: boolean; + /** Indicates if there was a suggested change to border_bottom. */ + borderBottomSuggested?: boolean; + /** Indicates if there was a suggested change to border_left. */ + borderLeftSuggested?: boolean; + /** Indicates if there was a suggested change to border_right. */ + borderRightSuggested?: boolean; + /** Indicates if there was a suggested change to border_top. */ + borderTopSuggested?: boolean; + /** Indicates if there was a suggested change to direction. */ + directionSuggested?: boolean; + /** Indicates if there was a suggested change to heading_id. */ + headingIdSuggested?: boolean; + /** Indicates if there was a suggested change to indent_end. */ + indentEndSuggested?: boolean; + /** Indicates if there was a suggested change to indent_first_line. */ + indentFirstLineSuggested?: boolean; + /** Indicates if there was a suggested change to indent_start. */ + indentStartSuggested?: boolean; + /** Indicates if there was a suggested change to keep_lines_together. */ + keepLinesTogetherSuggested?: boolean; + /** Indicates if there was a suggested change to keep_with_next. */ + keepWithNextSuggested?: boolean; + /** Indicates if there was a suggested change to line_spacing. */ + lineSpacingSuggested?: boolean; + /** Indicates if there was a suggested change to named_style_type. */ + namedStyleTypeSuggested?: boolean; + /** Indicates if there was a suggested change to page_break_before. */ + pageBreakBeforeSuggested?: boolean; + /** A mask that indicates which of the fields in shading have been changed in this suggestion. */ + shadingSuggestionState?: GoogleDocs.ShadingSuggestionState; + /** Indicates if there was a suggested change to space_above. */ + spaceAboveSuggested?: boolean; + /** Indicates if there was a suggested change to space_below. */ + spaceBelowSuggested?: boolean; + /** Indicates if there was a suggested change to spacing_mode. */ + spacingModeSuggested?: boolean; + }; + /** A person or email address mentioned in a document. These mentions behave as a single, immutable element containing the person's name or email address. */ + type Person = { + /** Output only. The unique ID of this link. */ + personId?: string; + /** Output only. The properties of this Person. This field is always present. */ + personProperties?: GoogleDocs.PersonProperties; + /** IDs for suggestions that remove this person link from the document. A Person might have multiple deletion IDs if, for example, multiple users suggest deleting it. If empty, then this person link isn't suggested for deletion. */ + suggestedDeletionIds?: Array; + /** IDs for suggestions that insert this person link into the document. A Person might have multiple insertion IDs if it's a nested suggested change (a suggestion within a suggestion made by a different user, for example). If empty, then this person link isn't a suggested insertion. */ + suggestedInsertionIds?: Array; + /** The suggested text style changes to this Person, keyed by suggestion ID. */ + suggestedTextStyleChanges?: Record; + /** The text style of this Person. */ + textStyle?: GoogleDocs.TextStyle; + }; + /** Properties specific to a linked Person. */ + type PersonProperties = { + /** The email address linked to this Person. This field is always present. */ + email?: string; + /** The name of the person if it's displayed in the link text instead of the person's email address. */ + name?: string; + }; + /** Updates the number of pinned table header rows in a table. */ + type PinTableHeaderRowsRequest = { + /** The number of table rows to pin, where 0 implies that all rows are unpinned. */ + pinnedHeaderRowsCount?: number; + /** The location where the table starts in the document. */ + tableStartLocation?: GoogleDocs.Location; + }; + /** An object that's tethered to a Paragraph and positioned relative to the beginning of the paragraph. A PositionedObject contains an EmbeddedObject such as an image. */ + type PositionedObject = { + /** The ID of this positioned object. */ + objectId?: string; + /** The properties of this positioned object. */ + positionedObjectProperties?: GoogleDocs.PositionedObjectProperties; + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion ID. If empty, then this is not a suggested insertion. */ + suggestedInsertionId?: string; + /** The suggested changes to the positioned object properties, keyed by suggestion ID. */ + suggestedPositionedObjectPropertiesChanges?: Record; + }; + /** The positioning of a PositionedObject. The positioned object is positioned relative to the beginning of the Paragraph it's tethered to. */ + type PositionedObjectPositioning = { + /** The layout of this positioned object. */ + layout?: "POSITIONED_OBJECT_LAYOUT_UNSPECIFIED" | "WRAP_TEXT" | "BREAK_LEFT" | "BREAK_RIGHT" | "BREAK_LEFT_RIGHT" | "IN_FRONT_OF_TEXT" | "BEHIND_TEXT"; + /** The offset of the left edge of the positioned object relative to the beginning of the Paragraph it's tethered to. The exact positioning of the object can depend on other content in the document and the document's styling. */ + leftOffset?: GoogleDocs.Dimension; + /** The offset of the top edge of the positioned object relative to the beginning of the Paragraph it's tethered to. The exact positioning of the object can depend on other content in the document and the document's styling. */ + topOffset?: GoogleDocs.Dimension; + }; + /** A mask that indicates which of the fields on the base PositionedObjectPositioning have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type PositionedObjectPositioningSuggestionState = { + /** Indicates if there was a suggested change to layout. */ + layoutSuggested?: boolean; + /** Indicates if there was a suggested change to left_offset. */ + leftOffsetSuggested?: boolean; + /** Indicates if there was a suggested change to top_offset. */ + topOffsetSuggested?: boolean; + }; + /** Properties of a PositionedObject. */ + type PositionedObjectProperties = { + /** The embedded object of this positioned object. */ + embeddedObject?: GoogleDocs.EmbeddedObject; + /** The positioning of this positioned object relative to the newline of the Paragraph that references this positioned object. */ + positioning?: GoogleDocs.PositionedObjectPositioning; + }; + /** A mask that indicates which of the fields on the base PositionedObjectProperties have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type PositionedObjectPropertiesSuggestionState = { + /** A mask that indicates which of the fields in embedded_object have been changed in this suggestion. */ + embeddedObjectSuggestionState?: GoogleDocs.EmbeddedObjectSuggestionState; + /** A mask that indicates which of the fields in positioning have been changed in this suggestion. */ + positioningSuggestionState?: GoogleDocs.PositionedObjectPositioningSuggestionState; + }; + /** Specifies a contiguous range of text. */ + type Range = { + /** The zero-based end index of this range, exclusive, in UTF-16 code units. In all current uses, an end index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges. */ + endIndex?: number; + /** The ID of the header, footer, or footnote that this range is contained in. An empty segment ID signifies the document's body. */ + segmentId?: string; + /** The zero-based start index of this range, in UTF-16 code units. In all current uses, a start index must be provided. This field is an Int32Value in order to accommodate future use cases with open-ended ranges. */ + startIndex?: number; + /** The tab that contains this range. When omitted, the request applies to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document. */ + tabId?: string; + }; + /** Replaces all instances of text matching a criteria with replace text. */ + type ReplaceAllTextRequest = { + /** Finds text in the document matching this substring. */ + containsText?: GoogleDocs.SubstringMatchCriteria; + /** The text that will replace the matched text. */ + replaceText?: string; + /** Optional. The criteria used to specify in which tabs the replacement occurs. When omitted, the replacement applies to all tabs. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the replacement applies to the singular tab. In a document containing multiple tabs: - If provided, the replacement applies to the specified tabs. - If omitted, the replacement applies to all tabs. */ + tabsCriteria?: GoogleDocs.TabsCriteria; + }; + /** The result of replacing text. */ + type ReplaceAllTextResponse = { + /** The number of occurrences changed by replacing all text. */ + occurrencesChanged?: number; + }; + /** Replaces an existing image with a new image. Replacing an image removes some image effects from the existing image in order to mirror the behavior of the Docs editor. */ + type ReplaceImageRequest = { + /** The ID of the existing image that will be replaced. The ID can be retrieved from the response of a get request. */ + imageObjectId?: string; + /** The replacement method. */ + imageReplaceMethod?: "IMAGE_REPLACE_METHOD_UNSPECIFIED" | "CENTER_CROP"; + /** The tab that the image to be replaced is in. When omitted, the request is applied to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If omitted, the request applies to the first tab in the document. */ + tabId?: string; + /** The URI of the new image. The image is fetched once at insertion time and a copy is stored for display inside the document. Images must be less than 50MB, cannot exceed 25 megapixels, and must be in PNG, JPEG, or GIF format. The provided URI can't surpass 2 KB in length. The URI is saved with the image, and exposed through the ImageProperties.source_uri field. */ + uri?: string; + }; + /** Replaces the contents of the specified NamedRange or NamedRanges with the given replacement content. Note that an individual NamedRange may consist of multiple discontinuous ranges. In this case, only the content in the first range will be replaced. The other ranges and their content will be deleted. In cases where replacing or deleting any ranges would result in an invalid document structure, a 400 bad request error is returned. */ + type ReplaceNamedRangeContentRequest = { + /** The ID of the named range whose content will be replaced. If there is no named range with the given ID a 400 bad request error is returned. */ + namedRangeId?: string; + /** The name of the NamedRanges whose content will be replaced. If there are multiple named ranges with the given name, then the content of each one will be replaced. If there are no named ranges with the given name, then the request will be a no-op. */ + namedRangeName?: string; + /** Optional. The criteria used to specify in which tabs the replacement occurs. When omitted, the replacement applies to all tabs. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the replacement applies to the singular tab. In a document containing multiple tabs: - If provided, the replacement applies to the specified tabs. - If omitted, the replacement applies to all tabs. */ + tabsCriteria?: GoogleDocs.TabsCriteria; + /** Replaces the content of the specified named range(s) with the given text. */ + text?: string; + }; + /** A single update to apply to a document. */ + type Request = { + /** Adds a document tab. */ + addDocumentTab?: GoogleDocs.AddDocumentTabRequest; + /** Creates a footer. */ + createFooter?: GoogleDocs.CreateFooterRequest; + /** Creates a footnote. */ + createFootnote?: GoogleDocs.CreateFootnoteRequest; + /** Creates a header. */ + createHeader?: GoogleDocs.CreateHeaderRequest; + /** Creates a named range. */ + createNamedRange?: GoogleDocs.CreateNamedRangeRequest; + /** Creates bullets for paragraphs. */ + createParagraphBullets?: GoogleDocs.CreateParagraphBulletsRequest; + /** Deletes content from the document. */ + deleteContentRange?: GoogleDocs.DeleteContentRangeRequest; + /** Deletes a footer from the document. */ + deleteFooter?: GoogleDocs.DeleteFooterRequest; + /** Deletes a header from the document. */ + deleteHeader?: GoogleDocs.DeleteHeaderRequest; + /** Deletes a named range. */ + deleteNamedRange?: GoogleDocs.DeleteNamedRangeRequest; + /** Deletes bullets from paragraphs. */ + deleteParagraphBullets?: GoogleDocs.DeleteParagraphBulletsRequest; + /** Deletes a positioned object from the document. */ + deletePositionedObject?: GoogleDocs.DeletePositionedObjectRequest; + /** Deletes a document tab. */ + deleteTab?: GoogleDocs.DeleteTabRequest; + /** Deletes a column from a table. */ + deleteTableColumn?: GoogleDocs.DeleteTableColumnRequest; + /** Deletes a row from a table. */ + deleteTableRow?: GoogleDocs.DeleteTableRowRequest; + /** Inserts a date. */ + insertDate?: GoogleDocs.InsertDateRequest; + /** Inserts an inline image at the specified location. */ + insertInlineImage?: GoogleDocs.InsertInlineImageRequest; + /** Inserts a page break at the specified location. */ + insertPageBreak?: GoogleDocs.InsertPageBreakRequest; + /** Inserts a person mention. */ + insertPerson?: GoogleDocs.InsertPersonRequest; + /** Insert a rich link. */ + insertRichLink?: GoogleDocs.InsertRichLinkRequest; + /** Inserts a section break at the specified location. */ + insertSectionBreak?: GoogleDocs.InsertSectionBreakRequest; + /** Inserts a table at the specified location. */ + insertTable?: GoogleDocs.InsertTableRequest; + /** Inserts an empty column into a table. */ + insertTableColumn?: GoogleDocs.InsertTableColumnRequest; + /** Inserts an empty row into a table. */ + insertTableRow?: GoogleDocs.InsertTableRowRequest; + /** Inserts text at the specified location. */ + insertText?: GoogleDocs.InsertTextRequest; + /** Merges cells in a table. */ + mergeTableCells?: GoogleDocs.MergeTableCellsRequest; + /** Updates the number of pinned header rows in a table. */ + pinTableHeaderRows?: GoogleDocs.PinTableHeaderRowsRequest; + /** Replaces all instances of the specified text. */ + replaceAllText?: GoogleDocs.ReplaceAllTextRequest; + /** Replaces an image in the document. */ + replaceImage?: GoogleDocs.ReplaceImageRequest; + /** Replaces the content in a named range. */ + replaceNamedRangeContent?: GoogleDocs.ReplaceNamedRangeContentRequest; + /** Unmerges cells in a table. */ + unmergeTableCells?: GoogleDocs.UnmergeTableCellsRequest; + /** Updates the style of the document. */ + updateDocumentStyle?: GoogleDocs.UpdateDocumentStyleRequest; + /** Updates the properties of a document tab. */ + updateDocumentTabProperties?: GoogleDocs.UpdateDocumentTabPropertiesRequest; + /** Updates a named style. */ + updateNamedStyle?: GoogleDocs.UpdateNamedStyleRequest; + /** Updates the paragraph style at the specified range. */ + updateParagraphStyle?: GoogleDocs.UpdateParagraphStyleRequest; + /** Updates the section style of the specified range. */ + updateSectionStyle?: GoogleDocs.UpdateSectionStyleRequest; + /** Updates the style of table cells. */ + updateTableCellStyle?: GoogleDocs.UpdateTableCellStyleRequest; + /** Updates the properties of columns in a table. */ + updateTableColumnProperties?: GoogleDocs.UpdateTableColumnPropertiesRequest; + /** Updates the row style in a table. */ + updateTableRowStyle?: GoogleDocs.UpdateTableRowStyleRequest; + /** Updates the text style at the specified range. */ + updateTextStyle?: GoogleDocs.UpdateTextStyleRequest; + }; + /** A single response from an update. */ + type Response = { + /** The result of adding a document tab. */ + addDocumentTab?: GoogleDocs.AddDocumentTabResponse; + /** The result of creating a footer. */ + createFooter?: GoogleDocs.CreateFooterResponse; + /** The result of creating a footnote. */ + createFootnote?: GoogleDocs.CreateFootnoteResponse; + /** The result of creating a header. */ + createHeader?: GoogleDocs.CreateHeaderResponse; + /** The result of creating a named range. */ + createNamedRange?: GoogleDocs.CreateNamedRangeResponse; + /** The result of inserting an inline image. */ + insertInlineImage?: GoogleDocs.InsertInlineImageResponse; + /** The result of inserting an inline Google Sheets chart. */ + insertInlineSheetsChart?: GoogleDocs.InsertInlineSheetsChartResponse; + /** The result of replacing text. */ + replaceAllText?: GoogleDocs.ReplaceAllTextResponse; + }; + /** An RGB color. */ + type RgbColor = { + /** The blue component of the color, from 0.0 to 1.0. */ + blue?: number; + /** The green component of the color, from 0.0 to 1.0. */ + green?: number; + /** The red component of the color, from 0.0 to 1.0. */ + red?: number; + }; + /** A link to a Google resource (such as a file in Drive, a YouTube video, or a Calendar event). */ + type RichLink = { + /** Output only. The ID of this link. */ + richLinkId?: string; + /** Output only. The properties of this RichLink. This field is always present. */ + richLinkProperties?: GoogleDocs.RichLinkProperties; + /** IDs for suggestions that remove this link from the document. A RichLink might have multiple deletion IDs if, for example, multiple users suggest deleting it. If empty, then this person link isn't suggested for deletion. */ + suggestedDeletionIds?: Array; + /** IDs for suggestions that insert this link into the document. A RichLink might have multiple insertion IDs if it's a nested suggested change (a suggestion within a suggestion made by a different user, for example). If empty, then this person link isn't a suggested insertion. */ + suggestedInsertionIds?: Array; + /** The suggested text style changes to this RichLink, keyed by suggestion ID. */ + suggestedTextStyleChanges?: Record; + /** The text style of this RichLink. */ + textStyle?: GoogleDocs.TextStyle; + }; + /** Properties specific to a RichLink. */ + type RichLinkProperties = { + /** The [MIME type](https://developers.google.com/drive/api/v3/mime-types) of the RichLink, if there's one (for example, when it's a file in Drive). */ + mimeType?: string; + /** The title of the RichLink as displayed in the link. This title matches the title of the linked resource at the time of the insertion or last update of the link. This field is always present. */ + title?: string; + /** The URI to the RichLink. This is always present. */ + uri?: string; + }; + /** A StructuralElement representing a section break. A section is a range of content that has the same SectionStyle. A section break represents the start of a new section, and the section style applies to the section after the section break. The document body always begins with a section break. */ + type SectionBreak = { + /** The style of the section after this section break. */ + sectionStyle?: GoogleDocs.SectionStyle; + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion IDs. A SectionBreak may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion. */ + suggestedInsertionIds?: Array; + }; + /** Properties that apply to a section's column. */ + type SectionColumnProperties = { + /** The padding at the end of the column. */ + paddingEnd?: GoogleDocs.Dimension; + /** Output only. The width of the column. */ + width?: GoogleDocs.Dimension; + }; + /** The styling that applies to a section. */ + type SectionStyle = { + /** The section's columns properties. If empty, the section contains one column with the default properties in the Docs editor. A section can be updated to have no more than 3 columns. When updating this property, setting a concrete value is required. Unsetting this property will result in a 400 bad request error. */ + columnProperties?: Array; + /** The style of column separators. This style can be set even when there's one column in the section. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error. */ + columnSeparatorStyle?: "COLUMN_SEPARATOR_STYLE_UNSPECIFIED" | "NONE" | "BETWEEN_EACH_COLUMN"; + /** The content direction of this section. If unset, the value defaults to LEFT_TO_RIGHT. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error. */ + contentDirection?: "CONTENT_DIRECTION_UNSPECIFIED" | "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT"; + /** The ID of the default footer. If unset, the value inherits from the previous SectionBreak's SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle's default_footer_id. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only. */ + defaultFooterId?: string; + /** The ID of the default header. If unset, the value inherits from the previous SectionBreak's SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle's default_header_id. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only. */ + defaultHeaderId?: string; + /** The ID of the footer used only for even pages. If the value of DocumentStyle's use_even_page_header_footer is true, this value is used for the footers on even pages in the section. If it is false, the footers on even pages use the default_footer_id. If unset, the value inherits from the previous SectionBreak's SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle's even_page_footer_id. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only. */ + evenPageFooterId?: string; + /** The ID of the header used only for even pages. If the value of DocumentStyle's use_even_page_header_footer is true, this value is used for the headers on even pages in the section. If it is false, the headers on even pages use the default_header_id. If unset, the value inherits from the previous SectionBreak's SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle's even_page_header_id. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only. */ + evenPageHeaderId?: string; + /** The ID of the footer used only for the first page of the section. If use_first_page_header_footer is true, this value is used for the footer on the first page of the section. If it's false, the footer on the first page of the section uses the default_footer_id. If unset, the value inherits from the previous SectionBreak's SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle's first_page_footer_id. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only. */ + firstPageFooterId?: string; + /** The ID of the header used only for the first page of the section. If use_first_page_header_footer is true, this value is used for the header on the first page of the section. If it's false, the header on the first page of the section uses the default_header_id. If unset, the value inherits from the previous SectionBreak's SectionStyle. If the value is unset in the first SectionBreak, it inherits from DocumentStyle's first_page_header_id. If DocumentMode is PAGELESS, this property will not be rendered. This property is read-only. */ + firstPageHeaderId?: string; + /** Optional. Indicates whether to flip the dimensions of DocumentStyle's page_size for this section, which allows changing the page orientation between portrait and landscape. If unset, the value inherits from DocumentStyle's flip_page_orientation. If DocumentMode is PAGELESS, this property will not be rendered. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error. */ + flipPageOrientation?: boolean; + /** The bottom page margin of the section. If unset, the value defaults to margin_bottom from DocumentStyle. If DocumentMode is PAGELESS, this property will not be rendered. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error. */ + marginBottom?: GoogleDocs.Dimension; + /** The footer margin of the section. If unset, the value defaults to margin_footer from DocumentStyle. If updated, use_custom_header_footer_margins is set to true on DocumentStyle. The value of use_custom_header_footer_margins on DocumentStyle indicates if a footer margin is being respected for this section If DocumentMode is PAGELESS, this property will not be rendered. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error. */ + marginFooter?: GoogleDocs.Dimension; + /** The header margin of the section. If unset, the value defaults to margin_header from DocumentStyle. If updated, use_custom_header_footer_margins is set to true on DocumentStyle. The value of use_custom_header_footer_margins on DocumentStyle indicates if a header margin is being respected for this section. If DocumentMode is PAGELESS, this property will not be rendered. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error. */ + marginHeader?: GoogleDocs.Dimension; + /** The left page margin of the section. If unset, the value defaults to margin_left from DocumentStyle. Updating the left margin causes columns in this section to resize. Since the margin affects column width, it's applied before column properties. If DocumentMode is PAGELESS, this property will not be rendered. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error. */ + marginLeft?: GoogleDocs.Dimension; + /** The right page margin of the section. If unset, the value defaults to margin_right from DocumentStyle. Updating the right margin causes columns in this section to resize. Since the margin affects column width, it's applied before column properties. If DocumentMode is PAGELESS, this property will not be rendered. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error. */ + marginRight?: GoogleDocs.Dimension; + /** The top page margin of the section. If unset, the value defaults to margin_top from DocumentStyle. If DocumentMode is PAGELESS, this property will not be rendered. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error. */ + marginTop?: GoogleDocs.Dimension; + /** The page number from which to start counting the number of pages for this section. If unset, page numbering continues from the previous section. If the value is unset in the first SectionBreak, refer to DocumentStyle's page_number_start. If DocumentMode is PAGELESS, this property will not be rendered. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error. */ + pageNumberStart?: number; + /** Output only. The type of section. */ + sectionType?: "SECTION_TYPE_UNSPECIFIED" | "CONTINUOUS" | "NEXT_PAGE"; + /** Indicates whether to use the first page header / footer IDs for the first page of the section. If unset, it inherits from DocumentStyle's use_first_page_header_footer for the first section. If the value is unset for subsequent sectors, it should be interpreted as false. If DocumentMode is PAGELESS, this property will not be rendered. When updating this property, setting a concrete value is required. Unsetting this property results in a 400 bad request error. */ + useFirstPageHeaderFooter?: boolean; + }; + /** The shading of a paragraph. */ + type Shading = { + /** The background color of this paragraph shading. */ + backgroundColor?: GoogleDocs.OptionalColor; + }; + /** A mask that indicates which of the fields on the base Shading have been changed in this suggested change. For any field set to true, there's a new suggested value. */ + type ShadingSuggestionState = { + /** Indicates if there was a suggested change to the Shading. */ + backgroundColorSuggested?: boolean; + }; + /** A reference to a linked chart embedded from Google Sheets. */ + type SheetsChartReference = { + /** The ID of the specific chart in the Google Sheets spreadsheet that's embedded. */ + chartId?: number; + /** The ID of the Google Sheets spreadsheet that contains the source chart. */ + spreadsheetId?: string; + }; + /** A mask that indicates which of the fields on the base SheetsChartReference have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type SheetsChartReferenceSuggestionState = { + /** Indicates if there was a suggested change to chart_id. */ + chartIdSuggested?: boolean; + /** Indicates if there was a suggested change to spreadsheet_id. */ + spreadsheetIdSuggested?: boolean; + }; + /** A width and height. */ + type Size = { + /** The height of the object. */ + height?: GoogleDocs.Dimension; + /** The width of the object. */ + width?: GoogleDocs.Dimension; + }; + /** A mask that indicates which of the fields on the base Size have been changed in this suggestion. For any field set to true, the Size has a new suggested value. */ + type SizeSuggestionState = { + /** Indicates if there was a suggested change to height. */ + heightSuggested?: boolean; + /** Indicates if there was a suggested change to width. */ + widthSuggested?: boolean; + }; + /** A StructuralElement describes content that provides structure to the document. */ + type StructuralElement = { + /** The zero-based end index of this structural element, exclusive, in UTF-16 code units. */ + endIndex?: number; + /** A paragraph type of structural element. */ + paragraph?: GoogleDocs.Paragraph; + /** A section break type of structural element. */ + sectionBreak?: GoogleDocs.SectionBreak; + /** The zero-based start index of this structural element, in UTF-16 code units. */ + startIndex?: number; + /** A table type of structural element. */ + table?: GoogleDocs.Table; + /** A table of contents type of structural element. */ + tableOfContents?: GoogleDocs.TableOfContents; + }; + /** A criteria that matches a specific string of text in the document. */ + type SubstringMatchCriteria = { + /** Indicates whether the search should respect case: - `True`: the search is case sensitive. - `False`: the search is case insensitive. */ + matchCase?: boolean; + /** Optional. True if the find value should be treated as a regular expression. Any backslashes in the pattern should be escaped. - `True`: the search text is treated as a regular expressions. - `False`: the search text is treated as a substring for matching. */ + searchByRegex?: boolean; + /** The text to search for in the document. */ + text?: string; + }; + /** A suggested change to a Bullet. */ + type SuggestedBullet = { + /** A Bullet that only includes the changes made in this suggestion. This can be used along with the bullet_suggestion_state to see which fields have changed and their new values. */ + bullet?: GoogleDocs.Bullet; + /** A mask that indicates which of the fields on the base Bullet have been changed in this suggestion. */ + bulletSuggestionState?: GoogleDocs.BulletSuggestionState; + }; + /** A suggested change to a DateElementProperties. */ + type SuggestedDateElementProperties = { + /** DateElementProperties that only includes the changes made in this suggestion. This can be used along with the date_element_properties_suggestion_state to see which fields have changed and their new values. */ + dateElementProperties?: GoogleDocs.DateElementProperties; + /** A mask that indicates which of the fields on the base DateElementProperties have been changed in this suggestion. */ + dateElementPropertiesSuggestionState?: GoogleDocs.DateElementPropertiesSuggestionState; + }; + /** A suggested change to the DocumentStyle. */ + type SuggestedDocumentStyle = { + /** A DocumentStyle that only includes the changes made in this suggestion. This can be used along with the document_style_suggestion_state to see which fields have changed and their new values. */ + documentStyle?: GoogleDocs.DocumentStyle; + /** A mask that indicates which of the fields on the base DocumentStyle have been changed in this suggestion. */ + documentStyleSuggestionState?: GoogleDocs.DocumentStyleSuggestionState; + }; + /** A suggested change to InlineObjectProperties. */ + type SuggestedInlineObjectProperties = { + /** An InlineObjectProperties that only includes the changes made in this suggestion. This can be used along with the inline_object_properties_suggestion_state to see which fields have changed and their new values. */ + inlineObjectProperties?: GoogleDocs.InlineObjectProperties; + /** A mask that indicates which of the fields on the base InlineObjectProperties have been changed in this suggestion. */ + inlineObjectPropertiesSuggestionState?: GoogleDocs.InlineObjectPropertiesSuggestionState; + }; + /** A suggested change to ListProperties. */ + type SuggestedListProperties = { + /** A ListProperties that only includes the changes made in this suggestion. This can be used along with the list_properties_suggestion_state to see which fields have changed and their new values. */ + listProperties?: GoogleDocs.ListProperties; + /** A mask that indicates which of the fields on the base ListProperties have been changed in this suggestion. */ + listPropertiesSuggestionState?: GoogleDocs.ListPropertiesSuggestionState; + }; + /** A suggested change to the NamedStyles. */ + type SuggestedNamedStyles = { + /** A NamedStyles that only includes the changes made in this suggestion. This can be used along with the named_styles_suggestion_state to see which fields have changed and their new values. */ + namedStyles?: GoogleDocs.NamedStyles; + /** A mask that indicates which of the fields on the base NamedStyles have been changed in this suggestion. */ + namedStylesSuggestionState?: GoogleDocs.NamedStylesSuggestionState; + }; + /** A suggested change to a ParagraphStyle. */ + type SuggestedParagraphStyle = { + /** A ParagraphStyle that only includes the changes made in this suggestion. This can be used along with the paragraph_style_suggestion_state to see which fields have changed and their new values. */ + paragraphStyle?: GoogleDocs.ParagraphStyle; + /** A mask that indicates which of the fields on the base ParagraphStyle have been changed in this suggestion. */ + paragraphStyleSuggestionState?: GoogleDocs.ParagraphStyleSuggestionState; + }; + /** A suggested change to PositionedObjectProperties. */ + type SuggestedPositionedObjectProperties = { + /** A PositionedObjectProperties that only includes the changes made in this suggestion. This can be used along with the positioned_object_properties_suggestion_state to see which fields have changed and their new values. */ + positionedObjectProperties?: GoogleDocs.PositionedObjectProperties; + /** A mask that indicates which of the fields on the base PositionedObjectProperties have been changed in this suggestion. */ + positionedObjectPropertiesSuggestionState?: GoogleDocs.PositionedObjectPropertiesSuggestionState; + }; + /** A suggested change to a TableCellStyle. */ + type SuggestedTableCellStyle = { + /** A TableCellStyle that only includes the changes made in this suggestion. This can be used along with the table_cell_style_suggestion_state to see which fields have changed and their new values. */ + tableCellStyle?: GoogleDocs.TableCellStyle; + /** A mask that indicates which of the fields on the base TableCellStyle have been changed in this suggestion. */ + tableCellStyleSuggestionState?: GoogleDocs.TableCellStyleSuggestionState; + }; + /** A suggested change to a TableRowStyle. */ + type SuggestedTableRowStyle = { + /** A TableRowStyle that only includes the changes made in this suggestion. This can be used along with the table_row_style_suggestion_state to see which fields have changed and their new values. */ + tableRowStyle?: GoogleDocs.TableRowStyle; + /** A mask that indicates which of the fields on the base TableRowStyle have been changed in this suggestion. */ + tableRowStyleSuggestionState?: GoogleDocs.TableRowStyleSuggestionState; + }; + /** A suggested change to a TextStyle. */ + type SuggestedTextStyle = { + /** A TextStyle that only includes the changes made in this suggestion. This can be used along with the text_style_suggestion_state to see which fields have changed and their new values. */ + textStyle?: GoogleDocs.TextStyle; + /** A mask that indicates which of the fields on the base TextStyle have been changed in this suggestion. */ + textStyleSuggestionState?: GoogleDocs.TextStyleSuggestionState; + }; + /** A tab in a document. */ + type Tab = { + /** The child tabs nested within this tab. */ + childTabs?: Array; + /** A tab with document contents, like text and images. */ + documentTab?: GoogleDocs.DocumentTab; + /** The properties of the tab, like ID and title. */ + tabProperties?: GoogleDocs.TabProperties; + }; + /** A StructuralElement representing a table. */ + type Table = { + /** Number of columns in the table. It's possible for a table to be non-rectangular, so some rows may have a different number of cells. */ + columns?: number; + /** Number of rows in the table. */ + rows?: number; + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion IDs. A Table may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion. */ + suggestedInsertionIds?: Array; + /** The contents and style of each row. */ + tableRows?: Array; + /** The style of the table. */ + tableStyle?: GoogleDocs.TableStyle; + }; + /** The contents and style of a cell in a Table. */ + type TableCell = { + /** The content of the cell. */ + content?: Array; + /** The zero-based end index of this cell, exclusive, in UTF-16 code units. */ + endIndex?: number; + /** The zero-based start index of this cell, in UTF-16 code units. */ + startIndex?: number; + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion IDs. A TableCell may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion. */ + suggestedInsertionIds?: Array; + /** The suggested changes to the table cell style, keyed by suggestion ID. */ + suggestedTableCellStyleChanges?: Record; + /** The style of the cell. */ + tableCellStyle?: GoogleDocs.TableCellStyle; + }; + /** A border around a table cell. Table cell borders cannot be transparent. To hide a table cell border, make its width 0. */ + type TableCellBorder = { + /** The color of the border. This color cannot be transparent. */ + color?: GoogleDocs.OptionalColor; + /** The dash style of the border. */ + dashStyle?: "DASH_STYLE_UNSPECIFIED" | "SOLID" | "DOT" | "DASH"; + /** The width of the border. */ + width?: GoogleDocs.Dimension; + }; + /** Location of a single cell within a table. */ + type TableCellLocation = { + /** The zero-based column index. For example, the second column in the table has a column index of 1. */ + columnIndex?: number; + /** The zero-based row index. For example, the second row in the table has a row index of 1. */ + rowIndex?: number; + /** The location where the table starts in the document. */ + tableStartLocation?: GoogleDocs.Location; + }; + /** The style of a TableCell. Inherited table cell styles are represented as unset fields in this message. A table cell style can inherit from the table's style. */ + type TableCellStyle = { + /** The background color of the cell. */ + backgroundColor?: GoogleDocs.OptionalColor; + /** The bottom border of the cell. */ + borderBottom?: GoogleDocs.TableCellBorder; + /** The left border of the cell. */ + borderLeft?: GoogleDocs.TableCellBorder; + /** The right border of the cell. */ + borderRight?: GoogleDocs.TableCellBorder; + /** The top border of the cell. */ + borderTop?: GoogleDocs.TableCellBorder; + /** The column span of the cell. This property is read-only. */ + columnSpan?: number; + /** The alignment of the content in the table cell. The default alignment matches the alignment for newly created table cells in the Docs editor. */ + contentAlignment?: "CONTENT_ALIGNMENT_UNSPECIFIED" | "CONTENT_ALIGNMENT_UNSUPPORTED" | "TOP" | "MIDDLE" | "BOTTOM"; + /** The bottom padding of the cell. */ + paddingBottom?: GoogleDocs.Dimension; + /** The left padding of the cell. */ + paddingLeft?: GoogleDocs.Dimension; + /** The right padding of the cell. */ + paddingRight?: GoogleDocs.Dimension; + /** The top padding of the cell. */ + paddingTop?: GoogleDocs.Dimension; + /** The row span of the cell. This property is read-only. */ + rowSpan?: number; + }; + /** A mask that indicates which of the fields on the base TableCellStyle have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type TableCellStyleSuggestionState = { + /** Indicates if there was a suggested change to background_color. */ + backgroundColorSuggested?: boolean; + /** Indicates if there was a suggested change to border_bottom. */ + borderBottomSuggested?: boolean; + /** Indicates if there was a suggested change to border_left. */ + borderLeftSuggested?: boolean; + /** Indicates if there was a suggested change to border_right. */ + borderRightSuggested?: boolean; + /** Indicates if there was a suggested change to border_top. */ + borderTopSuggested?: boolean; + /** Indicates if there was a suggested change to column_span. */ + columnSpanSuggested?: boolean; + /** Indicates if there was a suggested change to content_alignment. */ + contentAlignmentSuggested?: boolean; + /** Indicates if there was a suggested change to padding_bottom. */ + paddingBottomSuggested?: boolean; + /** Indicates if there was a suggested change to padding_left. */ + paddingLeftSuggested?: boolean; + /** Indicates if there was a suggested change to padding_right. */ + paddingRightSuggested?: boolean; + /** Indicates if there was a suggested change to padding_top. */ + paddingTopSuggested?: boolean; + /** Indicates if there was a suggested change to row_span. */ + rowSpanSuggested?: boolean; + }; + /** The properties of a column in a table. */ + type TableColumnProperties = { + /** The width of the column. Set when the column's `width_type` is FIXED_WIDTH. */ + width?: GoogleDocs.Dimension; + /** The width type of the column. */ + widthType?: "WIDTH_TYPE_UNSPECIFIED" | "EVENLY_DISTRIBUTED" | "FIXED_WIDTH"; + }; + /** A StructuralElement representing a table of contents. */ + type TableOfContents = { + /** The content of the table of contents. */ + content?: Array; + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion IDs. A TableOfContents may have multiple insertion IDs if it is a nested suggested change. If empty, then this is not a suggested insertion. */ + suggestedInsertionIds?: Array; + }; + /** A table range represents a reference to a subset of a table. It's important to note that the cells specified by a table range do not necessarily form a rectangle. For example, let's say we have a 3 x 3 table where all the cells of the last row are merged together. The table looks like this: [ ] A table range with table cell location = (table_start_location, row = 0, column = 0), row span = 3 and column span = 2 specifies the following cells: x x [ x x x ] */ + type TableRange = { + /** The column span of the table range. */ + columnSpan?: number; + /** The row span of the table range. */ + rowSpan?: number; + /** The cell location where the table range starts. */ + tableCellLocation?: GoogleDocs.TableCellLocation; + }; + /** The contents and style of a row in a Table. */ + type TableRow = { + /** The zero-based end index of this row, exclusive, in UTF-16 code units. */ + endIndex?: number; + /** The zero-based start index of this row, in UTF-16 code units. */ + startIndex?: number; + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion IDs. A TableRow may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion. */ + suggestedInsertionIds?: Array; + /** The suggested style changes to this row, keyed by suggestion ID. */ + suggestedTableRowStyleChanges?: Record; + /** The contents and style of each cell in this row. It's possible for a table to be non-rectangular, so some rows may have a different number of cells than other rows in the same table. */ + tableCells?: Array; + /** The style of the table row. */ + tableRowStyle?: GoogleDocs.TableRowStyle; + }; + /** Styles that apply to a table row. */ + type TableRowStyle = { + /** The minimum height of the row. The row will be rendered in the Docs editor at a height equal to or greater than this value in order to show all the content in the row's cells. */ + minRowHeight?: GoogleDocs.Dimension; + /** Whether the row cannot overflow across page or column boundaries. */ + preventOverflow?: boolean; + /** Whether the row is a table header. */ + tableHeader?: boolean; + }; + /** A mask that indicates which of the fields on the base TableRowStyle have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type TableRowStyleSuggestionState = { + /** Indicates if there was a suggested change to min_row_height. */ + minRowHeightSuggested?: boolean; + }; + /** Styles that apply to a table. */ + type TableStyle = { + /** The properties of each column. Note that in Docs, tables contain rows and rows contain cells, similar to HTML. So the properties for a row can be found on the row's table_row_style. */ + tableColumnProperties?: Array; + }; + /** Properties of a tab. */ + type TabProperties = { + /** Optional. The emoji icon displayed with the tab. A valid emoji icon is represented by a non-empty Unicode string. Any set of characters that don't represent a single emoji is invalid. If an emoji is invalid, a 400 bad request error is returned. If this value is unset or empty, the tab will display the default tab icon. */ + iconEmoji?: string; + /** The zero-based index of the tab within the parent. */ + index?: number; + /** Output only. The depth of the tab within the document. Root-level tabs start at 0. */ + nestingLevel?: number; + /** Optional. The ID of the parent tab. Empty when the current tab is a root-level tab, which means it doesn't have any parents. */ + parentTabId?: string; + /** The immutable ID of the tab. */ + tabId?: string; + /** The user-visible name of the tab. */ + title?: string; + }; + /** A criteria that specifies in which tabs a request executes. */ + type TabsCriteria = { + /** The list of tab IDs in which the request executes. */ + tabIds?: Array; + }; + /** A tab stop within a paragraph. */ + type TabStop = { + /** The alignment of this tab stop. If unset, the value defaults to START. */ + alignment?: "TAB_STOP_ALIGNMENT_UNSPECIFIED" | "START" | "CENTER" | "END"; + /** The offset between this tab stop and the start margin. */ + offset?: GoogleDocs.Dimension; + }; + /** A ParagraphElement that represents a run of text that all has the same styling. */ + type TextRun = { + /** The text of this run. Any non-text elements in the run are replaced with the Unicode character U+E907. */ + content?: string; + /** The suggested deletion IDs. If empty, then there are no suggested deletions of this content. */ + suggestedDeletionIds?: Array; + /** The suggested insertion IDs. A TextRun may have multiple insertion IDs if it's a nested suggested change. If empty, then this is not a suggested insertion. */ + suggestedInsertionIds?: Array; + /** The suggested text style changes to this run, keyed by suggestion ID. */ + suggestedTextStyleChanges?: Record; + /** The text style of this run. */ + textStyle?: GoogleDocs.TextStyle; + }; + /** Represents the styling that can be applied to text. Inherited text styles are represented as unset fields in this message. A text style's parent depends on where the text style is defined: * The TextStyle of text in a Paragraph inherits from the paragraph's corresponding named style type. * The TextStyle on a named style inherits from the normal text named style. * The TextStyle of the normal text named style inherits from the default text style in the Docs editor. * The TextStyle on a Paragraph element that's contained in a table may inherit its text style from the table style. If the text style does not inherit from a parent, unsetting fields will revert the style to a value matching the defaults in the Docs editor. */ + type TextStyle = { + /** The background color of the text. If set, the color is either an RGB color or transparent, depending on the `color` field. */ + backgroundColor?: GoogleDocs.OptionalColor; + /** The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. Changes in this field don't affect the `font_size`. */ + baselineOffset?: "BASELINE_OFFSET_UNSPECIFIED" | "NONE" | "SUPERSCRIPT" | "SUBSCRIPT"; + /** Whether or not the text is rendered as bold. */ + bold?: boolean; + /** The size of the text's font. */ + fontSize?: GoogleDocs.Dimension; + /** The foreground color of the text. If set, the color is either an RGB color or transparent, depending on the `color` field. */ + foregroundColor?: GoogleDocs.OptionalColor; + /** Whether or not the text is italicized. */ + italic?: boolean; + /** The hyperlink destination of the text. If unset, there's no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be updated to the default link color and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `"ABC\n123"`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request. */ + link?: GoogleDocs.Link; + /** Whether or not the text is in small capital letters. */ + smallCaps?: boolean; + /** Whether or not the text is struck through. */ + strikethrough?: boolean; + /** Whether or not the text is underlined. */ + underline?: boolean; + /** The font family and rendered weight of the text. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned. */ + weightedFontFamily?: GoogleDocs.WeightedFontFamily; + }; + /** A mask that indicates which of the fields on the base TextStyle have been changed in this suggestion. For any field set to true, there's a new suggested value. */ + type TextStyleSuggestionState = { + /** Indicates if there was a suggested change to background_color. */ + backgroundColorSuggested?: boolean; + /** Indicates if there was a suggested change to baseline_offset. */ + baselineOffsetSuggested?: boolean; + /** Indicates if there was a suggested change to bold. */ + boldSuggested?: boolean; + /** Indicates if there was a suggested change to font_size. */ + fontSizeSuggested?: boolean; + /** Indicates if there was a suggested change to foreground_color. */ + foregroundColorSuggested?: boolean; + /** Indicates if there was a suggested change to italic. */ + italicSuggested?: boolean; + /** Indicates if there was a suggested change to link. */ + linkSuggested?: boolean; + /** Indicates if there was a suggested change to small_caps. */ + smallCapsSuggested?: boolean; + /** Indicates if there was a suggested change to strikethrough. */ + strikethroughSuggested?: boolean; + /** Indicates if there was a suggested change to underline. */ + underlineSuggested?: boolean; + /** Indicates if there was a suggested change to weighted_font_family. */ + weightedFontFamilySuggested?: boolean; + }; + /** Unmerges cells in a Table. */ + type UnmergeTableCellsRequest = { + /** The table range specifying which cells of the table to unmerge. All merged cells in this range will be unmerged, and cells that are already unmerged will not be affected. If the range has no merged cells, the request will do nothing. If there is text in any of the merged cells, the text will remain in the "head" cell of the resulting block of unmerged cells. The "head" cell is the upper-left cell when the content direction is from left to right, and the upper-right otherwise. */ + tableRange?: GoogleDocs.TableRange; + }; + /** Updates the DocumentStyle. */ + type UpdateDocumentStyleRequest = { + /** The styles to set on the document. Certain document style changes may cause other changes in order to mirror the behavior of the Docs editor. See the documentation of DocumentStyle for more information. */ + documentStyle?: GoogleDocs.DocumentStyle; + /** The fields that should be updated. At least one field must be specified. The root `document_style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the background, set `fields` to `"background"`. */ + fields?: string; + /** The tab that contains the style to update. When omitted, the request applies to the first tab. In a document containing a single tab: - If provided, must match the singular tab's ID. - If omitted, the request applies to the singular tab. In a document containing multiple tabs: - If provided, the request applies to the specified tab. - If not provided, the request applies to the first tab in the document. */ + tabId?: string; + }; + /** Update the properties of a document tab. */ + type UpdateDocumentTabPropertiesRequest = { + /** The fields that should be updated. At least one field must be specified. The root `tab_properties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + /** The tab properties to update. */ + tabProperties?: GoogleDocs.TabProperties; + }; + /** Updates a named style. */ + type UpdateNamedStyleRequest = { + /** The NamedStyle fields that should be updated. At least `named_style_type` must be specified. The root `named_style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example, to update the text style to bold, set `fields` to include `"text_style"` and `"text_style.bold"`. To update the paragraph style's alignment property, set `fields` to include `"paragraph_style"` and `"paragraph_style.alignment"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. Specifying `"text_style"` or `"paragraph_style"` with an empty TextStyle or ParagraphStyle will reset all of its nested fields. */ + fields?: string; + /** The document style to update. */ + namedStyle?: GoogleDocs.NamedStyle; + /** The document tab to update. By default, the update is applied to the first tab. */ + tabId?: string; + }; + /** Update the styling of all paragraphs that overlap with the given range. */ + type UpdateParagraphStyleRequest = { + /** The fields that should be updated. At least one field must be specified. The root `paragraph_style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example, to update the paragraph style's alignment property, set `fields` to `"alignment"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. */ + fields?: string; + /** The styles to set on the paragraphs. Certain paragraph style changes may cause other changes in order to mirror the behavior of the Docs editor. See the documentation of ParagraphStyle for more information. */ + paragraphStyle?: GoogleDocs.ParagraphStyle; + /** The range overlapping the paragraphs to style. */ + range?: GoogleDocs.Range; + }; + /** Updates the SectionStyle. */ + type UpdateSectionStyleRequest = { + /** The fields that should be updated. At least one field must be specified. The root `section_style` is implied and must not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the left margin, set `fields` to `"margin_left"`. */ + fields?: string; + /** The range overlapping the sections to style. Because section breaks can only be inserted inside the body, the segment ID field must be empty. */ + range?: GoogleDocs.Range; + /** The styles to be set on the section. Certain section style changes may cause other changes in order to mirror the behavior of the Docs editor. See the documentation of SectionStyle for more information. */ + sectionStyle?: GoogleDocs.SectionStyle; + }; + /** Updates the style of a range of table cells. */ + type UpdateTableCellStyleRequest = { + /** The fields that should be updated. At least one field must be specified. The root `tableCellStyle` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the table cell background color, set `fields` to `"backgroundColor"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. */ + fields?: string; + /** The style to set on the table cells. When updating borders, if a cell shares a border with an adjacent cell, the corresponding border property of the adjacent cell is updated as well. Borders that are merged and invisible are not updated. Since updating a border shared by adjacent cells in the same request can cause conflicting border updates, border updates are applied in the following order: - `border_right` - `border_left` - `border_bottom` - `border_top` */ + tableCellStyle?: GoogleDocs.TableCellStyle; + /** The table range representing the subset of the table to which the updates are applied. */ + tableRange?: GoogleDocs.TableRange; + /** The location where the table starts in the document. When specified, the updates are applied to all the cells in the table. */ + tableStartLocation?: GoogleDocs.Location; + }; + /** Updates the TableColumnProperties of columns in a table. */ + type UpdateTableColumnPropertiesRequest = { + /** The list of zero-based column indices whose property should be updated. If no indices are specified, all columns will be updated. */ + columnIndices?: Array; + /** The fields that should be updated. At least one field must be specified. The root `tableColumnProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the column width, set `fields` to `"width"`. */ + fields?: string; + /** The table column properties to update. If the value of `table_column_properties#width` is less than 5 points (5/72 inch), a 400 bad request error is returned. */ + tableColumnProperties?: GoogleDocs.TableColumnProperties; + /** The location where the table starts in the document. */ + tableStartLocation?: GoogleDocs.Location; + }; + /** Updates the TableRowStyle of rows in a table. */ + type UpdateTableRowStyleRequest = { + /** The fields that should be updated. At least one field must be specified. The root `tableRowStyle` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the minimum row height, set `fields` to `"min_row_height"`. */ + fields?: string; + /** The list of zero-based row indices whose style should be updated. If no indices are specified, all rows will be updated. */ + rowIndices?: Array; + /** The styles to be set on the rows. */ + tableRowStyle?: GoogleDocs.TableRowStyle; + /** The location where the table starts in the document. */ + tableStartLocation?: GoogleDocs.Location; + }; + /** Update the styling of text. */ + type UpdateTextStyleRequest = { + /** The fields that should be updated. At least one field must be specified. The root `text_style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example, to update the text style to bold, set `fields` to `"bold"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. */ + fields?: string; + /** The range of text to style. The range may be extended to include adjacent newlines. If the range fully contains a paragraph belonging to a list, the paragraph's bullet is also updated with the matching text style. Ranges cannot be inserted inside a relative UpdateTextStyleRequest. */ + range?: GoogleDocs.Range; + /** The styles to set on the text. If the value for a particular style matches that of the parent, that style will be set to inherit. Certain text style changes may cause other changes in order to to mirror the behavior of the Docs editor. See the documentation of TextStyle for more information. */ + textStyle?: GoogleDocs.TextStyle; + }; + /** Represents a font family and weight of text. */ + type WeightedFontFamily = { + /** The font family of the text. The font family can be any font from the Font menu in Docs or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. */ + fontFamily?: string; + /** The weight of the font. This field can have any value that's a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. The default value is `400` ("normal"). The font weight makes up just one component of the rendered font weight. A combination of the `weight` and the text style's resolved `bold` value determine the rendered weight, after accounting for inheritance: * If the text is bold and the weight is less than `400`, the rendered weight is 400. * If the text is bold and the weight is greater than or equal to `400` but is less than `700`, the rendered weight is `700`. * If the weight is greater than or equal to `700`, the rendered weight is equal to the weight. * If the text is not bold, the rendered weight is equal to the weight. */ + weight?: number; + }; + /** Provides control over how write requests are executed. */ + type WriteControl = { + /** The optional revision ID of the document the write request is applied to. If this is not the latest revision of the document, the request is not processed and returns a 400 bad request error. When a required revision ID is returned in a response, it indicates the revision ID of the document after the request was applied. */ + requiredRevisionId?: string; + /** The optional target revision ID of the document the write request is applied to. If collaborator changes have occurred after the document was read using the API, the changes produced by this write request are applied against the collaborator changes. This results in a new revision of the document that incorporates both the collaborator changes and the changes in the request, with the Docs server resolving conflicting changes. When using target revision ID, the API client can be thought of as another collaborator of the document. The target revision ID can only be used to write to recent versions of a document. If the target revision is too far behind the latest revision, the request is not processed and returns a 400 bad request error. The request should be tried again after retrieving the latest version of the document. Usually a revision ID remains valid for use as a target revision for several minutes after it's read, but for frequently edited documents this window might be shorter. */ + targetRevisionId?: string; + }; + type DocumentsBatchUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the document to update. */ + documentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDocs.BatchUpdateDocumentRequest; + }; + type DocumentsCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleDocs.Document; + }; + type DocumentsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The ID of the document to retrieve. */ + documentId: string; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Whether to populate the Document.tabs field instead of the text content fields like `body` and `documentStyle` on Document. - When `True`: Document content populates in the Document.tabs field instead of the text content fields in Document. - When `False`: The content of the document's first tab populates the content fields in Document excluding Document.tabs. If a document has only one tab, then that tab is used to populate the document content. Document.tabs will be empty. */ + includeTabsContent?: boolean; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The suggestions view mode to apply to the document. This allows viewing the document with all suggestions inline, accepted or rejected. If one is not specified, DEFAULT_FOR_CURRENT_ACCESS is used. */ + suggestionsViewMode?: "DEFAULT_FOR_CURRENT_ACCESS" | "SUGGESTIONS_INLINE" | "PREVIEW_SUGGESTIONS_ACCEPTED" | "PREVIEW_WITHOUT_SUGGESTIONS"; + }; + type Client = { + documents: { + /** 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. */ + batchUpdate(params: DocumentsBatchUpdateParams): Promise; + /** 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. */ + create(params?: DocumentsCreateParams): Promise; + /** Gets the latest version of the specified document. */ + get(params: DocumentsGetParams): Promise; + }; + }; +} +declare namespace GoogleSheets { + /** Adds a new banded range to the spreadsheet. */ + type AddBandingRequest = { + /** The banded range to add. The bandedRangeId field is optional; if one is not set, an id will be randomly generated. (It is an error to specify the ID of a range that already exists.) */ + bandedRange?: GoogleSheets.BandedRange; + }; + /** The result of adding a banded range. */ + type AddBandingResponse = { + /** The banded range that was added. */ + bandedRange?: GoogleSheets.BandedRange; + }; + /** Adds a chart to a sheet in the spreadsheet. */ + type AddChartRequest = { + /** The chart that should be added to the spreadsheet, including the position where it should be placed. The chartId field is optional; if one is not set, an id will be randomly generated. (It is an error to specify the ID of an embedded object that already exists.) */ + chart?: GoogleSheets.EmbeddedChart; + }; + /** The result of adding a chart to a spreadsheet. */ + type AddChartResponse = { + /** The newly added chart. */ + chart?: GoogleSheets.EmbeddedChart; + }; + /** Adds a new conditional format rule at the given index. All subsequent rules' indexes are incremented. */ + type AddConditionalFormatRuleRequest = { + /** The zero-based index where the rule should be inserted. */ + index?: number; + /** The rule to add. */ + rule?: GoogleSheets.ConditionalFormatRule; + }; + /** Adds a data source. After the data source is added successfully, an associated DATA_SOURCE sheet is created and an execution is triggered to refresh the sheet to read data from the data source. The request requires an additional `bigquery.readonly` OAuth scope if you are adding a BigQuery data source. */ + type AddDataSourceRequest = { + /** The data source to add. */ + dataSource?: GoogleSheets.DataSource; + }; + /** The result of adding a data source. */ + type AddDataSourceResponse = { + /** The data execution status. */ + dataExecutionStatus?: GoogleSheets.DataExecutionStatus; + /** The data source that was created. */ + dataSource?: GoogleSheets.DataSource; + }; + /** Creates a group over the specified range. If the requested range is a superset of the range of an existing group G, then the depth of G is incremented and this new group G' has the depth of that group. For example, a group [C:D, depth 1] + [B:E] results in groups [B:E, depth 1] and [C:D, depth 2]. If the requested range is a subset of the range of an existing group G, then the depth of the new group G' becomes one greater than the depth of G. For example, a group [B:E, depth 1] + [C:D] results in groups [B:E, depth 1] and [C:D, depth 2]. If the requested range starts before and ends within, or starts within and ends after, the range of an existing group G, then the range of the existing group G becomes the union of the ranges, and the new group G' has depth one greater than the depth of G and range as the intersection of the ranges. For example, a group [B:D, depth 1] + [C:E] results in groups [B:E, depth 1] and [C:D, depth 2]. */ + type AddDimensionGroupRequest = { + /** The range over which to create a group. */ + range?: GoogleSheets.DimensionRange; + }; + /** The result of adding a group. */ + type AddDimensionGroupResponse = { + /** All groups of a dimension after adding a group to that dimension. */ + dimensionGroups?: Array; + }; + /** Adds a filter view. */ + type AddFilterViewRequest = { + /** The filter to add. The filterViewId field is optional. If one is not set, an ID will be randomly generated. (It is an error to specify the ID of a filter that already exists.) */ + filter?: GoogleSheets.FilterView; + }; + /** The result of adding a filter view. */ + type AddFilterViewResponse = { + /** The newly added filter view. */ + filter?: GoogleSheets.FilterView; + }; + /** Adds a named range to the spreadsheet. */ + type AddNamedRangeRequest = { + /** The named range to add. The namedRangeId field is optional; if one is not set, an id will be randomly generated. (It is an error to specify the ID of a range that already exists.) */ + namedRange?: GoogleSheets.NamedRange; + }; + /** The result of adding a named range. */ + type AddNamedRangeResponse = { + /** The named range to add. */ + namedRange?: GoogleSheets.NamedRange; + }; + /** Adds a new protected range. */ + type AddProtectedRangeRequest = { + /** The protected range to be added. The protectedRangeId field is optional; if one is not set, an id will be randomly generated. (It is an error to specify the ID of a range that already exists.) */ + protectedRange?: GoogleSheets.ProtectedRange; + }; + /** The result of adding a new protected range. */ + type AddProtectedRangeResponse = { + /** The newly added protected range. */ + protectedRange?: GoogleSheets.ProtectedRange; + }; + /** Adds a new sheet. When a sheet is added at a given index, all subsequent sheets' indexes are incremented. To add an object sheet, use AddChartRequest instead and specify EmbeddedObjectPosition.sheetId or EmbeddedObjectPosition.newSheet. */ + type AddSheetRequest = { + /** The properties the new sheet should have. All properties are optional. The sheetId field is optional; if one is not set, an id will be randomly generated. (It is an error to specify the ID of a sheet that already exists.) */ + properties?: GoogleSheets.SheetProperties; + }; + /** The result of adding a sheet. */ + type AddSheetResponse = { + /** The properties of the newly added sheet. */ + properties?: GoogleSheets.SheetProperties; + }; + /** Adds a slicer to a sheet in the spreadsheet. */ + type AddSlicerRequest = { + /** The slicer that should be added to the spreadsheet, including the position where it should be placed. The slicerId field is optional; if one is not set, an id will be randomly generated. (It is an error to specify the ID of a slicer that already exists.) */ + slicer?: GoogleSheets.Slicer; + }; + /** The result of adding a slicer to a spreadsheet. */ + type AddSlicerResponse = { + /** The newly added slicer. */ + slicer?: GoogleSheets.Slicer; + }; + /** Adds a new table to the spreadsheet. */ + type AddTableRequest = { + /** Required. The table to add. */ + table?: GoogleSheets.Table; + }; + /** The result of adding a table. */ + type AddTableResponse = { + /** Output only. The table that was added. */ + table?: GoogleSheets.Table; + }; + /** Adds new cells after the last row with data in a sheet, inserting new rows into the sheet if necessary. */ + type AppendCellsRequest = { + /** The fields of CellData that should be updated. At least one field must be specified. The root is the CellData; 'row.values.' should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + /** The data to append. */ + rows?: Array; + /** The sheet ID to append the data to. */ + sheetId?: number; + /** The ID of the table to append data to. The data will be only appended to the table body. This field also takes precedence over the `sheet_id` field. */ + tableId?: string; + }; + /** Appends rows or columns to the end of a sheet. */ + type AppendDimensionRequest = { + /** Whether rows or columns should be appended. */ + dimension?: "DIMENSION_UNSPECIFIED" | "ROWS" | "COLUMNS"; + /** The number of rows or columns to append. */ + length?: number; + /** The sheet to append rows or columns to. */ + sheetId?: number; + }; + /** The response when updating a range of values in a spreadsheet. */ + type AppendValuesResponse = { + /** The spreadsheet the updates were applied to. */ + spreadsheetId?: string; + /** The range (in A1 notation) of the table that values are being appended to (before the values were appended). Empty if no table was found. */ + tableRange?: string; + /** Information about the updates that were applied. */ + updates?: GoogleSheets.UpdateValuesResponse; + }; + /** Fills in more data based on existing data. */ + type AutoFillRequest = { + /** The range to autofill. This will examine the range and detect the location that has data and automatically fill that data in to the rest of the range. */ + range?: GoogleSheets.GridRange; + /** The source and destination areas to autofill. This explicitly lists the source of the autofill and where to extend that data. */ + sourceAndDestination?: GoogleSheets.SourceAndDestination; + /** True if we should generate data with the "alternate" series. This differs based on the type and amount of source data. */ + useAlternateSeries?: boolean; + }; + /** Automatically resizes one or more dimensions based on the contents of the cells in that dimension. */ + type AutoResizeDimensionsRequest = { + /** The dimensions on a data source sheet to automatically resize. */ + dataSourceSheetDimensions?: GoogleSheets.DataSourceSheetDimensionRange; + /** The dimensions to automatically resize. */ + dimensions?: GoogleSheets.DimensionRange; + }; + /** A banded (alternating colors) range in a sheet. */ + type BandedRange = { + /** The ID of the banded range. If unset, refer to banded_range_reference. */ + bandedRangeId?: number; + /** Output only. The reference of the banded range, used to identify the ID that is not supported by the banded_range_id. */ + bandedRangeReference?: string; + /** Properties for column bands. These properties are applied on a column- by-column basis throughout all the columns in the range. At least one of row_properties or column_properties must be specified. */ + columnProperties?: GoogleSheets.BandingProperties; + /** The range over which these properties are applied. */ + range?: GoogleSheets.GridRange; + /** Properties for row bands. These properties are applied on a row-by-row basis throughout all the rows in the range. At least one of row_properties or column_properties must be specified. */ + rowProperties?: GoogleSheets.BandingProperties; + }; + /** Properties referring a single dimension (either row or column). If both BandedRange.row_properties and BandedRange.column_properties are set, the fill colors are applied to cells according to the following rules: * header_color and footer_color take priority over band colors. * first_band_color takes priority over second_band_color. * row_properties takes priority over column_properties. For example, the first row color takes priority over the first column color, but the first column color takes priority over the second row color. Similarly, the row header takes priority over the column header in the top left cell, but the column header takes priority over the first row color if the row header is not set. */ + type BandingProperties = { + /** The first color that is alternating. (Required) Deprecated: Use first_band_color_style. */ + firstBandColor?: GoogleSheets.Color; + /** The first color that is alternating. (Required) If first_band_color is also set, this field takes precedence. */ + firstBandColorStyle?: GoogleSheets.ColorStyle; + /** The color of the last row or column. If this field is not set, the last row or column is filled with either first_band_color or second_band_color, depending on the color of the previous row or column. Deprecated: Use footer_color_style. */ + footerColor?: GoogleSheets.Color; + /** The color of the last row or column. If this field is not set, the last row or column is filled with either first_band_color or second_band_color, depending on the color of the previous row or column. If footer_color is also set, this field takes precedence. */ + footerColorStyle?: GoogleSheets.ColorStyle; + /** The color of the first row or column. If this field is set, the first row or column is filled with this color and the colors alternate between first_band_color and second_band_color starting from the second row or column. Otherwise, the first row or column is filled with first_band_color and the colors proceed to alternate as they normally would. Deprecated: Use header_color_style. */ + headerColor?: GoogleSheets.Color; + /** The color of the first row or column. If this field is set, the first row or column is filled with this color and the colors alternate between first_band_color and second_band_color starting from the second row or column. Otherwise, the first row or column is filled with first_band_color and the colors proceed to alternate as they normally would. If header_color is also set, this field takes precedence. */ + headerColorStyle?: GoogleSheets.ColorStyle; + /** The second color that is alternating. (Required) Deprecated: Use second_band_color_style. */ + secondBandColor?: GoogleSheets.Color; + /** The second color that is alternating. (Required) If second_band_color is also set, this field takes precedence. */ + secondBandColorStyle?: GoogleSheets.ColorStyle; + }; + /** Formatting options for baseline value. */ + type BaselineValueFormat = { + /** The comparison type of key value with baseline value. */ + comparisonType?: "COMPARISON_TYPE_UNDEFINED" | "ABSOLUTE_DIFFERENCE" | "PERCENTAGE_DIFFERENCE"; + /** Description which is appended after the baseline value. This field is optional. */ + description?: string; + /** Color to be used, in case baseline value represents a negative change for key value. This field is optional. Deprecated: Use negative_color_style. */ + negativeColor?: GoogleSheets.Color; + /** Color to be used, in case baseline value represents a negative change for key value. This field is optional. If negative_color is also set, this field takes precedence. */ + negativeColorStyle?: GoogleSheets.ColorStyle; + /** Specifies the horizontal text positioning of baseline value. This field is optional. If not specified, default positioning is used. */ + position?: GoogleSheets.TextPosition; + /** Color to be used, in case baseline value represents a positive change for key value. This field is optional. Deprecated: Use positive_color_style. */ + positiveColor?: GoogleSheets.Color; + /** Color to be used, in case baseline value represents a positive change for key value. This field is optional. If positive_color is also set, this field takes precedence. */ + positiveColorStyle?: GoogleSheets.ColorStyle; + /** Text formatting options for baseline value. The link field is not supported. */ + textFormat?: GoogleSheets.TextFormat; + }; + /** An axis of the chart. A chart may not have more than one axis per axis position. */ + type BasicChartAxis = { + /** The format of the title. Only valid if the axis is not associated with the domain. The link field is not supported. */ + format?: GoogleSheets.TextFormat; + /** The position of this axis. */ + position?: "BASIC_CHART_AXIS_POSITION_UNSPECIFIED" | "BOTTOM_AXIS" | "LEFT_AXIS" | "RIGHT_AXIS"; + /** The title of this axis. If set, this overrides any title inferred from headers of the data. */ + title?: string; + /** The axis title text position. */ + titleTextPosition?: GoogleSheets.TextPosition; + /** The view window options for this axis. */ + viewWindowOptions?: GoogleSheets.ChartAxisViewWindowOptions; + }; + /** The domain of a chart. For example, if charting stock prices over time, this would be the date. */ + type BasicChartDomain = { + /** The data of the domain. For example, if charting stock prices over time, this is the data representing the dates. */ + domain?: GoogleSheets.ChartData; + /** True to reverse the order of the domain values (horizontal axis). */ + reversed?: boolean; + }; + /** A single series of data in a chart. For example, if charting stock prices over time, multiple series may exist, one for the "Open Price", "High Price", "Low Price" and "Close Price". */ + type BasicChartSeries = { + /** The color for elements (such as bars, lines, and points) associated with this series. If empty, a default color is used. Deprecated: Use color_style. */ + color?: GoogleSheets.Color; + /** The color for elements (such as bars, lines, and points) associated with this series. If empty, a default color is used. If color is also set, this field takes precedence. */ + colorStyle?: GoogleSheets.ColorStyle; + /** Information about the data labels for this series. */ + dataLabel?: GoogleSheets.DataLabel; + /** The line style of this series. Valid only if the chartType is AREA, LINE, or SCATTER. COMBO charts are also supported if the series chart type is AREA or LINE. */ + lineStyle?: GoogleSheets.LineStyle; + /** The style for points associated with this series. Valid only if the chartType is AREA, LINE, or SCATTER. COMBO charts are also supported if the series chart type is AREA, LINE, or SCATTER. If empty, a default point style is used. */ + pointStyle?: GoogleSheets.PointStyle; + /** The data being visualized in this chart series. */ + series?: GoogleSheets.ChartData; + /** Style override settings for series data points. */ + styleOverrides?: Array; + /** The minor axis that will specify the range of values for this series. For example, if charting stocks over time, the "Volume" series may want to be pinned to the right with the prices pinned to the left, because the scale of trading volume is different than the scale of prices. It is an error to specify an axis that isn't a valid minor axis for the chart's type. */ + targetAxis?: "BASIC_CHART_AXIS_POSITION_UNSPECIFIED" | "BOTTOM_AXIS" | "LEFT_AXIS" | "RIGHT_AXIS"; + /** The type of this series. Valid only if the chartType is COMBO. Different types will change the way the series is visualized. Only LINE, AREA, and COLUMN are supported. */ + type?: "BASIC_CHART_TYPE_UNSPECIFIED" | "BAR" | "LINE" | "AREA" | "COLUMN" | "SCATTER" | "COMBO" | "STEPPED_AREA"; + }; + /** The specification for a basic chart. See BasicChartType for the list of charts this supports. */ + type BasicChartSpec = { + /** The axis on the chart. */ + axis?: Array; + /** The type of the chart. */ + chartType?: "BASIC_CHART_TYPE_UNSPECIFIED" | "BAR" | "LINE" | "AREA" | "COLUMN" | "SCATTER" | "COMBO" | "STEPPED_AREA"; + /** The behavior of tooltips and data highlighting when hovering on data and chart area. */ + compareMode?: "BASIC_CHART_COMPARE_MODE_UNSPECIFIED" | "DATUM" | "CATEGORY"; + /** The domain of data this is charting. Only a single domain is supported. */ + domains?: Array; + /** The number of rows or columns in the data that are "headers". If not set, Google Sheets will guess how many rows are headers based on the data. (Note that BasicChartAxis.title may override the axis title inferred from the header values.) */ + headerCount?: number; + /** If some values in a series are missing, gaps may appear in the chart (e.g, segments of lines in a line chart will be missing). To eliminate these gaps set this to true. Applies to Line, Area, and Combo charts. */ + interpolateNulls?: boolean; + /** The position of the chart legend. */ + legendPosition?: "BASIC_CHART_LEGEND_POSITION_UNSPECIFIED" | "BOTTOM_LEGEND" | "LEFT_LEGEND" | "RIGHT_LEGEND" | "TOP_LEGEND" | "NO_LEGEND"; + /** Gets whether all lines should be rendered smooth or straight by default. Applies to Line charts. */ + lineSmoothing?: boolean; + /** The data this chart is visualizing. */ + series?: Array; + /** The stacked type for charts that support vertical stacking. Applies to Area, Bar, Column, Combo, and Stepped Area charts. */ + stackedType?: "BASIC_CHART_STACKED_TYPE_UNSPECIFIED" | "NOT_STACKED" | "STACKED" | "PERCENT_STACKED"; + /** True to make the chart 3D. Applies to Bar and Column charts. */ + threeDimensional?: boolean; + /** Controls whether to display additional data labels on stacked charts which sum the total value of all stacked values at each value along the domain axis. These data labels can only be set when chart_type is one of AREA, BAR, COLUMN, COMBO or STEPPED_AREA and stacked_type is either STACKED or PERCENT_STACKED. In addition, for COMBO, this will only be supported if there is only one type of stackable series type or one type has more series than the others and each of the other types have no more than one series. For example, if a chart has two stacked bar series and one area series, the total data labels will be supported. If it has three bar series and two area series, total data labels are not allowed. Neither CUSTOM nor placement can be set on the total_data_label. */ + totalDataLabel?: GoogleSheets.DataLabel; + }; + /** The default filter associated with a sheet. For more information, see [Manage data visibility with filters](https://developers.google.com/workspace/sheets/api/guides/filters). */ + type BasicFilter = { + /** The criteria for showing/hiding values per column. The map's key is the column index, and the value is the criteria for that column. This field is deprecated in favor of filter_specs. */ + criteria?: Record; + /** The filter criteria per column. Both criteria and filter_specs are populated in responses. If both fields are specified in an update request, this field takes precedence. */ + filterSpecs?: Array; + /** The range the filter covers. */ + range?: GoogleSheets.GridRange; + /** The sort order per column. Later specifications are used when values are equal in the earlier specifications. */ + sortSpecs?: Array; + /** The table this filter is backed by, if any. When writing, only one of range or table_id may be set. */ + tableId?: string; + }; + /** Style override settings for a single series data point. */ + type BasicSeriesDataPointStyleOverride = { + /** Color of the series data point. If empty, the series default is used. Deprecated: Use color_style. */ + color?: GoogleSheets.Color; + /** Color of the series data point. If empty, the series default is used. If color is also set, this field takes precedence. */ + colorStyle?: GoogleSheets.ColorStyle; + /** The zero-based index of the series data point. */ + index?: number; + /** Point style of the series data point. Valid only if the chartType is AREA, LINE, or SCATTER. COMBO charts are also supported if the series chart type is AREA, LINE, or SCATTER. If empty, the series default is used. */ + pointStyle?: GoogleSheets.PointStyle; + }; + /** The request for clearing more than one range selected by a DataFilter in a spreadsheet. */ + type BatchClearValuesByDataFilterRequest = { + /** The DataFilters used to determine which ranges to clear. */ + dataFilters?: Array; + }; + /** The response when clearing a range of values selected with DataFilters in a spreadsheet. */ + type BatchClearValuesByDataFilterResponse = { + /** The ranges that were cleared, in [A1 notation](https://developers.google.com/workspace/sheets/api/guides/concepts#cell). If the requests are for an unbounded range or a range larger than the bounds of the sheet, this is the actual ranges that were cleared, bounded to the sheet's limits. */ + clearedRanges?: Array; + /** The spreadsheet the updates were applied to. */ + spreadsheetId?: string; + }; + /** The request for clearing more than one range of values in a spreadsheet. */ + type BatchClearValuesRequest = { + /** The ranges to clear, in [A1 notation or R1C1 notation](https://developers.google.com/workspace/sheets/api/guides/concepts#cell). */ + ranges?: Array; + }; + /** The response when clearing a range of values in a spreadsheet. */ + type BatchClearValuesResponse = { + /** The ranges that were cleared, in A1 notation. If the requests are for an unbounded range or a range larger than the bounds of the sheet, this is the actual ranges that were cleared, bounded to the sheet's limits. */ + clearedRanges?: Array; + /** The spreadsheet the updates were applied to. */ + spreadsheetId?: string; + }; + /** The request for retrieving a range of values in a spreadsheet selected by a set of DataFilters. */ + type BatchGetValuesByDataFilterRequest = { + /** The data filters used to match the ranges of values to retrieve. Ranges that match any of the specified data filters are included in the response. */ + dataFilters?: Array; + /** How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER. */ + dateTimeRenderOption?: "SERIAL_NUMBER" | "FORMATTED_STRING"; + /** The major dimension that results should use. For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then a request that selects that range and sets `majorDimension=ROWS` returns `[[1,2],[3,4]]`, whereas a request that sets `majorDimension=COLUMNS` returns `[[1,3],[2,4]]`. */ + majorDimension?: "DIMENSION_UNSPECIFIED" | "ROWS" | "COLUMNS"; + /** How values should be represented in the output. The default render option is FORMATTED_VALUE. */ + valueRenderOption?: "FORMATTED_VALUE" | "UNFORMATTED_VALUE" | "FORMULA"; + }; + /** The response when retrieving more than one range of values in a spreadsheet selected by DataFilters. */ + type BatchGetValuesByDataFilterResponse = { + /** The ID of the spreadsheet the data was retrieved from. */ + spreadsheetId?: string; + /** The requested values with the list of data filters that matched them. */ + valueRanges?: Array; + }; + /** The response when retrieving more than one range of values in a spreadsheet. */ + type BatchGetValuesResponse = { + /** The ID of the spreadsheet the data was retrieved from. */ + spreadsheetId?: string; + /** The requested values. The order of the ValueRanges is the same as the order of the requested ranges. */ + valueRanges?: Array; + }; + /** The request for updating any aspect of a spreadsheet. */ + type BatchUpdateSpreadsheetRequest = { + /** Determines if the update response should include the spreadsheet resource. */ + includeSpreadsheetInResponse?: boolean; + /** A list of updates to apply to the spreadsheet. Requests will be applied in the order they are specified. If any request is not valid, no requests will be applied. */ + requests?: Array; + /** True if grid data should be returned. Meaningful only if include_spreadsheet_in_response is 'true'. This parameter is ignored if a field mask was set in the request. */ + responseIncludeGridData?: boolean; + /** Limits the ranges included in the response spreadsheet. Meaningful only if include_spreadsheet_in_response is 'true'. */ + responseRanges?: Array; + }; + /** The reply for batch updating a spreadsheet. */ + type BatchUpdateSpreadsheetResponse = { + /** The reply of the updates. This maps 1:1 with the updates, although replies to some requests may be empty. */ + replies?: Array; + /** The spreadsheet the updates were applied to. */ + spreadsheetId?: string; + /** The spreadsheet after updates were applied. This is only set if BatchUpdateSpreadsheetRequest.include_spreadsheet_in_response is `true`. */ + updatedSpreadsheet?: GoogleSheets.Spreadsheet; + }; + /** The request for updating more than one range of values in a spreadsheet. */ + type BatchUpdateValuesByDataFilterRequest = { + /** The new values to apply to the spreadsheet. If more than one range is matched by the specified DataFilter the specified values are applied to all of those ranges. */ + data?: Array; + /** Determines if the update response should include the values of the cells that were updated. By default, responses do not include the updated values. The `updatedData` field within each of the BatchUpdateValuesResponse.responses contains the updated values. If the range to write was larger than the range actually written, the response includes all values in the requested range (excluding trailing empty rows and columns). */ + includeValuesInResponse?: boolean; + /** Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER. */ + responseDateTimeRenderOption?: "SERIAL_NUMBER" | "FORMATTED_STRING"; + /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ + responseValueRenderOption?: "FORMATTED_VALUE" | "UNFORMATTED_VALUE" | "FORMULA"; + /** How the input data should be interpreted. */ + valueInputOption?: "INPUT_VALUE_OPTION_UNSPECIFIED" | "RAW" | "USER_ENTERED"; + }; + /** The response when updating a range of values in a spreadsheet. */ + type BatchUpdateValuesByDataFilterResponse = { + /** The response for each range updated. */ + responses?: Array; + /** The spreadsheet the updates were applied to. */ + spreadsheetId?: string; + /** The total number of cells updated. */ + totalUpdatedCells?: number; + /** The total number of columns where at least one cell in the column was updated. */ + totalUpdatedColumns?: number; + /** The total number of rows where at least one cell in the row was updated. */ + totalUpdatedRows?: number; + /** The total number of sheets where at least one cell in the sheet was updated. */ + totalUpdatedSheets?: number; + }; + /** The request for updating more than one range of values in a spreadsheet. */ + type BatchUpdateValuesRequest = { + /** The new values to apply to the spreadsheet. */ + data?: Array; + /** Determines if the update response should include the values of the cells that were updated. By default, responses do not include the updated values. The `updatedData` field within each of the BatchUpdateValuesResponse.responses contains the updated values. If the range to write was larger than the range actually written, the response includes all values in the requested range (excluding trailing empty rows and columns). */ + includeValuesInResponse?: boolean; + /** Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER. */ + responseDateTimeRenderOption?: "SERIAL_NUMBER" | "FORMATTED_STRING"; + /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ + responseValueRenderOption?: "FORMATTED_VALUE" | "UNFORMATTED_VALUE" | "FORMULA"; + /** How the input data should be interpreted. */ + valueInputOption?: "INPUT_VALUE_OPTION_UNSPECIFIED" | "RAW" | "USER_ENTERED"; + }; + /** The response when updating a range of values in a spreadsheet. */ + type BatchUpdateValuesResponse = { + /** One UpdateValuesResponse per requested range, in the same order as the requests appeared. */ + responses?: Array; + /** The spreadsheet the updates were applied to. */ + spreadsheetId?: string; + /** The total number of cells updated. */ + totalUpdatedCells?: number; + /** The total number of columns where at least one cell in the column was updated. */ + totalUpdatedColumns?: number; + /** The total number of rows where at least one cell in the row was updated. */ + totalUpdatedRows?: number; + /** The total number of sheets where at least one cell in the sheet was updated. */ + totalUpdatedSheets?: number; + }; + /** The specification of a BigQuery data source that's connected to a sheet. */ + type BigQueryDataSourceSpec = { + /** The ID of a BigQuery enabled Google Cloud project with a billing account attached. For any queries executed against the data source, the project is charged. */ + projectId?: string; + /** A BigQueryQuerySpec. */ + querySpec?: GoogleSheets.BigQueryQuerySpec; + /** A BigQueryTableSpec. */ + tableSpec?: GoogleSheets.BigQueryTableSpec; + }; + /** Specifies a custom BigQuery query. */ + type BigQueryQuerySpec = { + /** The raw query string. */ + rawQuery?: string; + }; + /** Specifies a BigQuery table definition. Only [native tables](https://cloud.google.com/bigquery/docs/tables-intro) are allowed. */ + type BigQueryTableSpec = { + /** The BigQuery dataset id. */ + datasetId?: string; + /** The BigQuery table id. */ + tableId?: string; + /** The ID of a BigQuery project the table belongs to. If not specified, the project_id is assumed. */ + tableProjectId?: string; + }; + /** A condition that can evaluate to true or false. BooleanConditions are used by conditional formatting, data validation, and the criteria in filters. */ + type BooleanCondition = { + /** The type of condition. */ + type?: "CONDITION_TYPE_UNSPECIFIED" | "NUMBER_GREATER" | "NUMBER_GREATER_THAN_EQ" | "NUMBER_LESS" | "NUMBER_LESS_THAN_EQ" | "NUMBER_EQ" | "NUMBER_NOT_EQ" | "NUMBER_BETWEEN" | "NUMBER_NOT_BETWEEN" | "TEXT_CONTAINS" | "TEXT_NOT_CONTAINS" | "TEXT_STARTS_WITH" | "TEXT_ENDS_WITH" | "TEXT_EQ" | "TEXT_IS_EMAIL" | "TEXT_IS_URL" | "DATE_EQ" | "DATE_BEFORE" | "DATE_AFTER" | "DATE_ON_OR_BEFORE" | "DATE_ON_OR_AFTER" | "DATE_BETWEEN" | "DATE_NOT_BETWEEN" | "DATE_IS_VALID" | "ONE_OF_RANGE" | "ONE_OF_LIST" | "BLANK" | "NOT_BLANK" | "CUSTOM_FORMULA" | "BOOLEAN" | "TEXT_NOT_EQ" | "DATE_NOT_EQ" | "FILTER_EXPRESSION"; + /** The values of the condition. The number of supported values depends on the condition type. Some support zero values, others one or two values, and ConditionType.ONE_OF_LIST supports an arbitrary number of values. */ + values?: Array; + }; + /** A rule that may or may not match, depending on the condition. */ + type BooleanRule = { + /** The condition of the rule. If the condition evaluates to true, the format is applied. */ + condition?: GoogleSheets.BooleanCondition; + /** The format to apply. Conditional formatting can only apply a subset of formatting: bold, italic, strikethrough, foreground color and, background color. */ + format?: GoogleSheets.CellFormat; + }; + /** A border along a cell. */ + type Border = { + /** The color of the border. Deprecated: Use color_style. */ + color?: GoogleSheets.Color; + /** The color of the border. If color is also set, this field takes precedence. */ + colorStyle?: GoogleSheets.ColorStyle; + /** The style of the border. */ + style?: "STYLE_UNSPECIFIED" | "DOTTED" | "DASHED" | "SOLID" | "SOLID_MEDIUM" | "SOLID_THICK" | "NONE" | "DOUBLE"; + /** The width of the border, in pixels. Deprecated; the width is determined by the "style" field. */ + width?: number; + }; + /** The borders of the cell. */ + type Borders = { + /** The bottom border of the cell. */ + bottom?: GoogleSheets.Border; + /** The left border of the cell. */ + left?: GoogleSheets.Border; + /** The right border of the cell. */ + right?: GoogleSheets.Border; + /** The top border of the cell. */ + top?: GoogleSheets.Border; + }; + /** A bubble chart. */ + type BubbleChartSpec = { + /** The bubble border color. Deprecated: Use bubble_border_color_style. */ + bubbleBorderColor?: GoogleSheets.Color; + /** The bubble border color. If bubble_border_color is also set, this field takes precedence. */ + bubbleBorderColorStyle?: GoogleSheets.ColorStyle; + /** The data containing the bubble labels. These do not need to be unique. */ + bubbleLabels?: GoogleSheets.ChartData; + /** The max radius size of the bubbles, in pixels. If specified, the field must be a positive value. */ + bubbleMaxRadiusSize?: number; + /** The minimum radius size of the bubbles, in pixels. If specific, the field must be a positive value. */ + bubbleMinRadiusSize?: number; + /** The opacity of the bubbles between 0 and 1.0. 0 is fully transparent and 1 is fully opaque. */ + bubbleOpacity?: number; + /** The data containing the bubble sizes. Bubble sizes are used to draw the bubbles at different sizes relative to each other. If specified, group_ids must also be specified. This field is optional. */ + bubbleSizes?: GoogleSheets.ChartData; + /** The format of the text inside the bubbles. Strikethrough, underline, and link are not supported. */ + bubbleTextStyle?: GoogleSheets.TextFormat; + /** The data containing the bubble x-values. These values locate the bubbles in the chart horizontally. */ + domain?: GoogleSheets.ChartData; + /** The data containing the bubble group IDs. All bubbles with the same group ID are drawn in the same color. If bubble_sizes is specified then this field must also be specified but may contain blank values. This field is optional. */ + groupIds?: GoogleSheets.ChartData; + /** Where the legend of the chart should be drawn. */ + legendPosition?: "BUBBLE_CHART_LEGEND_POSITION_UNSPECIFIED" | "BOTTOM_LEGEND" | "LEFT_LEGEND" | "RIGHT_LEGEND" | "TOP_LEGEND" | "NO_LEGEND" | "INSIDE_LEGEND"; + /** The data containing the bubble y-values. These values locate the bubbles in the chart vertically. */ + series?: GoogleSheets.ChartData; + }; + /** Cancels one or multiple refreshes of data source objects in the spreadsheet by the specified references. The request requires an additional `bigquery.readonly` OAuth scope if you are cancelling a refresh on a BigQuery data source. */ + type CancelDataSourceRefreshRequest = { + /** Reference to a DataSource. If specified, cancels all associated data source object refreshes for this data source. */ + dataSourceId?: string; + /** Cancels all existing data source object refreshes for all data sources in the spreadsheet. */ + isAll?: boolean; + /** References to data source objects whose refreshes are to be cancelled. */ + references?: GoogleSheets.DataSourceObjectReferences; + }; + /** The response from cancelling one or multiple data source object refreshes. */ + type CancelDataSourceRefreshResponse = { + /** The cancellation statuses of refreshes of all data source objects specified in the request. If is_all is specified, the field contains only those in failure status. Refreshing and canceling refresh the same data source object is also not allowed in the same `batchUpdate`. */ + statuses?: Array; + }; + /** The status of cancelling a single data source object refresh. */ + type CancelDataSourceRefreshStatus = { + /** Reference to the data source object whose refresh is being cancelled. */ + reference?: GoogleSheets.DataSourceObjectReference; + /** The cancellation status. */ + refreshCancellationStatus?: GoogleSheets.RefreshCancellationStatus; + }; + /** A candlestick chart. */ + type CandlestickChartSpec = { + /** The Candlestick chart data. Only one CandlestickData is supported. */ + data?: Array; + /** The domain data (horizontal axis) for the candlestick chart. String data will be treated as discrete labels, other data will be treated as continuous values. */ + domain?: GoogleSheets.CandlestickDomain; + }; + /** The Candlestick chart data, each containing the low, open, close, and high values for a series. */ + type CandlestickData = { + /** The range data (vertical axis) for the close/final value for each candle. This is the top of the candle body. If greater than the open value the candle will be filled. Otherwise the candle will be hollow. */ + closeSeries?: GoogleSheets.CandlestickSeries; + /** The range data (vertical axis) for the high/maximum value for each candle. This is the top of the candle's center line. */ + highSeries?: GoogleSheets.CandlestickSeries; + /** The range data (vertical axis) for the low/minimum value for each candle. This is the bottom of the candle's center line. */ + lowSeries?: GoogleSheets.CandlestickSeries; + /** The range data (vertical axis) for the open/initial value for each candle. This is the bottom of the candle body. If less than the close value the candle will be filled. Otherwise the candle will be hollow. */ + openSeries?: GoogleSheets.CandlestickSeries; + }; + /** The domain of a CandlestickChart. */ + type CandlestickDomain = { + /** The data of the CandlestickDomain. */ + data?: GoogleSheets.ChartData; + /** True to reverse the order of the domain values (horizontal axis). */ + reversed?: boolean; + }; + /** The series of a CandlestickData. */ + type CandlestickSeries = { + /** The data of the CandlestickSeries. */ + data?: GoogleSheets.ChartData; + }; + /** Data about a specific cell. */ + type CellData = { + /** Optional. Runs of chips applied to subsections of the cell. Properties of a run start at a specific index in the text and continue until the next run. When reading, all chipped and non-chipped runs are included. Non-chipped runs will have an empty Chip. When writing, only runs with chips are included. Runs containing chips are of length 1 and are represented in the user-entered text by an “@” placeholder symbol. New runs will overwrite any prior runs. Writing a new user_entered_value will erase previous runs. */ + chipRuns?: Array; + /** Output only. Information about a data source formula on the cell. The field is set if user_entered_value is a formula referencing some DATA_SOURCE sheet, e.g. `=SUM(DataSheet!Column)`. */ + dataSourceFormula?: GoogleSheets.DataSourceFormula; + /** A data source table anchored at this cell. The size of data source table itself is computed dynamically based on its configuration. Only the first cell of the data source table contains the data source table definition. The other cells will contain the display values of the data source table result in their effective_value fields. */ + dataSourceTable?: GoogleSheets.DataSourceTable; + /** A data validation rule on the cell, if any. When writing, the new data validation rule will overwrite any prior rule. */ + dataValidation?: GoogleSheets.DataValidationRule; + /** The effective format being used by the cell. This includes the results of applying any conditional formatting and, if the cell contains a formula, the computed number format. If the effective format is the default format, effective format will not be written. This field is read-only. */ + effectiveFormat?: GoogleSheets.CellFormat; + /** The effective value of the cell. For cells with formulas, this is the calculated value. For cells with literals, this is the same as the user_entered_value. This field is read-only. */ + effectiveValue?: GoogleSheets.ExtendedValue; + /** The formatted value of the cell. This is the value as it's shown to the user. This field is read-only. */ + formattedValue?: string; + /** A hyperlink this cell points to, if any. If the cell contains multiple hyperlinks, this field will be empty. This field is read-only. To set it, use a `=HYPERLINK` formula in the userEnteredValue.formulaValue field. A cell-level link can also be set from the userEnteredFormat.textFormat field. Alternatively, set a hyperlink in the textFormatRun.format.link field that spans the entire cell. */ + hyperlink?: string; + /** Any note on the cell. */ + note?: string; + /** A pivot table anchored at this cell. The size of pivot table itself is computed dynamically based on its data, grouping, filters, values, etc. Only the top-left cell of the pivot table contains the pivot table definition. The other cells will contain the calculated values of the results of the pivot in their effective_value fields. */ + pivotTable?: GoogleSheets.PivotTable; + /** Runs of rich text applied to subsections of the cell. Runs are only valid on user entered strings, not formulas, bools, or numbers. Properties of a run start at a specific index in the text and continue until the next run. Runs will inherit the properties of the cell unless explicitly changed. When writing, the new runs will overwrite any prior runs. When writing a new user_entered_value, previous runs are erased. */ + textFormatRuns?: Array; + /** The format the user entered for the cell. When writing, the new format will be merged with the existing format. */ + userEnteredFormat?: GoogleSheets.CellFormat; + /** The value the user entered in the cell. e.g., `1234`, `'Hello'`, or `=NOW()` Note: Dates, Times and DateTimes are represented as doubles in serial number format. */ + userEnteredValue?: GoogleSheets.ExtendedValue; + }; + /** The format of a cell. */ + type CellFormat = { + /** The background color of the cell. Deprecated: Use background_color_style. */ + backgroundColor?: GoogleSheets.Color; + /** The background color of the cell. If background_color is also set, this field takes precedence. */ + backgroundColorStyle?: GoogleSheets.ColorStyle; + /** The borders of the cell. */ + borders?: GoogleSheets.Borders; + /** The horizontal alignment of the value in the cell. */ + horizontalAlignment?: "HORIZONTAL_ALIGN_UNSPECIFIED" | "LEFT" | "CENTER" | "RIGHT"; + /** If one exists, how a hyperlink should be displayed in the cell. */ + hyperlinkDisplayType?: "HYPERLINK_DISPLAY_TYPE_UNSPECIFIED" | "LINKED" | "PLAIN_TEXT"; + /** A format describing how number values should be represented to the user. */ + numberFormat?: GoogleSheets.NumberFormat; + /** The padding of the cell. */ + padding?: GoogleSheets.Padding; + /** The direction of the text in the cell. */ + textDirection?: "TEXT_DIRECTION_UNSPECIFIED" | "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT"; + /** The format of the text in the cell (unless overridden by a format run). Setting a cell-level link here clears the cell's existing links. Setting the link field in a TextFormatRun takes precedence over the cell-level link. */ + textFormat?: GoogleSheets.TextFormat; + /** The rotation applied to text in the cell. */ + textRotation?: GoogleSheets.TextRotation; + /** The vertical alignment of the value in the cell. */ + verticalAlignment?: "VERTICAL_ALIGN_UNSPECIFIED" | "TOP" | "MIDDLE" | "BOTTOM"; + /** The wrap strategy for the value in the cell. */ + wrapStrategy?: "WRAP_STRATEGY_UNSPECIFIED" | "OVERFLOW_CELL" | "LEGACY_WRAP" | "CLIP" | "WRAP"; + }; + /** The options that define a "view window" for a chart (such as the visible values in an axis). */ + type ChartAxisViewWindowOptions = { + /** The maximum numeric value to be shown in this view window. If unset, will automatically determine a maximum value that looks good for the data. */ + viewWindowMax?: number; + /** The minimum numeric value to be shown in this view window. If unset, will automatically determine a minimum value that looks good for the data. */ + viewWindowMin?: number; + /** The view window's mode. */ + viewWindowMode?: "DEFAULT_VIEW_WINDOW_MODE" | "VIEW_WINDOW_MODE_UNSUPPORTED" | "EXPLICIT" | "PRETTY"; + }; + /** Custom number formatting options for chart attributes. */ + type ChartCustomNumberFormatOptions = { + /** Custom prefix to be prepended to the chart attribute. This field is optional. */ + prefix?: string; + /** Custom suffix to be appended to the chart attribute. This field is optional. */ + suffix?: string; + }; + /** The data included in a domain or series. */ + type ChartData = { + /** The aggregation type for the series of a data source chart. Only supported for data source charts. */ + aggregateType?: "CHART_AGGREGATE_TYPE_UNSPECIFIED" | "AVERAGE" | "COUNT" | "MAX" | "MEDIAN" | "MIN" | "SUM"; + /** The reference to the data source column that the data reads from. */ + columnReference?: GoogleSheets.DataSourceColumnReference; + /** The rule to group the data by if the ChartData backs the domain of a data source chart. Only supported for data source charts. */ + groupRule?: GoogleSheets.ChartGroupRule; + /** The source ranges of the data. */ + sourceRange?: GoogleSheets.ChartSourceRange; + }; + /** Allows you to organize the date-time values in a source data column into buckets based on selected parts of their date or time values. */ + type ChartDateTimeRule = { + /** The type of date-time grouping to apply. */ + type?: "CHART_DATE_TIME_RULE_TYPE_UNSPECIFIED" | "SECOND" | "MINUTE" | "HOUR" | "HOUR_MINUTE" | "HOUR_MINUTE_AMPM" | "DAY_OF_WEEK" | "DAY_OF_YEAR" | "DAY_OF_MONTH" | "DAY_MONTH" | "MONTH" | "QUARTER" | "YEAR" | "YEAR_MONTH" | "YEAR_QUARTER" | "YEAR_MONTH_DAY"; + }; + /** An optional setting on the ChartData of the domain of a data source chart that defines buckets for the values in the domain rather than breaking out each individual value. For example, when plotting a data source chart, you can specify a histogram rule on the domain (it should only contain numeric values), grouping its values into buckets. Any values of a chart series that fall into the same bucket are aggregated based on the aggregate_type. */ + type ChartGroupRule = { + /** A ChartDateTimeRule. */ + dateTimeRule?: GoogleSheets.ChartDateTimeRule; + /** A ChartHistogramRule */ + histogramRule?: GoogleSheets.ChartHistogramRule; + }; + /** Allows you to organize numeric values in a source data column into buckets of constant size. */ + type ChartHistogramRule = { + /** The size of the buckets that are created. Must be positive. */ + intervalSize?: number; + /** The maximum value at which items are placed into buckets. Values greater than the maximum are grouped into a single bucket. If omitted, it is determined by the maximum item value. */ + maxValue?: number; + /** The minimum value at which items are placed into buckets. Values that are less than the minimum are grouped into a single bucket. If omitted, it is determined by the minimum item value. */ + minValue?: number; + }; + /** Source ranges for a chart. */ + type ChartSourceRange = { + /** The ranges of data for a series or domain. Exactly one dimension must have a length of 1, and all sources in the list must have the same dimension with length 1. The domain (if it exists) & all series must have the same number of source ranges. If using more than one source range, then the source range at a given offset must be in order and contiguous across the domain and series. For example, these are valid configurations: domain sources: A1:A5 series1 sources: B1:B5 series2 sources: D6:D10 domain sources: A1:A5, C10:C12 series1 sources: B1:B5, D10:D12 series2 sources: C1:C5, E10:E12 */ + sources?: Array; + }; + /** The specifications of a chart. */ + type ChartSpec = { + /** The alternative text that describes the chart. This is often used for accessibility. */ + altText?: string; + /** The background color of the entire chart. Not applicable to Org charts. Deprecated: Use background_color_style. */ + backgroundColor?: GoogleSheets.Color; + /** The background color of the entire chart. Not applicable to Org charts. If background_color is also set, this field takes precedence. */ + backgroundColorStyle?: GoogleSheets.ColorStyle; + /** A basic chart specification, can be one of many kinds of charts. See BasicChartType for the list of all charts this supports. */ + basicChart?: GoogleSheets.BasicChartSpec; + /** A bubble chart specification. */ + bubbleChart?: GoogleSheets.BubbleChartSpec; + /** A candlestick chart specification. */ + candlestickChart?: GoogleSheets.CandlestickChartSpec; + /** If present, the field contains data source chart specific properties. */ + dataSourceChartProperties?: GoogleSheets.DataSourceChartProperties; + /** The filters applied to the source data of the chart. Only supported for data source charts. */ + filterSpecs?: Array; + /** The name of the font to use by default for all chart text (e.g. title, axis labels, legend). If a font is specified for a specific part of the chart it will override this font name. */ + fontName?: string; + /** Determines how the charts will use hidden rows or columns. */ + hiddenDimensionStrategy?: "CHART_HIDDEN_DIMENSION_STRATEGY_UNSPECIFIED" | "SKIP_HIDDEN_ROWS_AND_COLUMNS" | "SKIP_HIDDEN_ROWS" | "SKIP_HIDDEN_COLUMNS" | "SHOW_ALL"; + /** A histogram chart specification. */ + histogramChart?: GoogleSheets.HistogramChartSpec; + /** True to make a chart fill the entire space in which it's rendered with minimum padding. False to use the default padding. (Not applicable to Geo and Org charts.) */ + maximized?: boolean; + /** An org chart specification. */ + orgChart?: GoogleSheets.OrgChartSpec; + /** A pie chart specification. */ + pieChart?: GoogleSheets.PieChartSpec; + /** A scorecard chart specification. */ + scorecardChart?: GoogleSheets.ScorecardChartSpec; + /** The order to sort the chart data by. Only a single sort spec is supported. Only supported for data source charts. */ + sortSpecs?: Array; + /** The subtitle of the chart. */ + subtitle?: string; + /** The subtitle text format. Strikethrough, underline, and link are not supported. */ + subtitleTextFormat?: GoogleSheets.TextFormat; + /** The subtitle text position. This field is optional. */ + subtitleTextPosition?: GoogleSheets.TextPosition; + /** The title of the chart. */ + title?: string; + /** The title text format. Strikethrough, underline, and link are not supported. */ + titleTextFormat?: GoogleSheets.TextFormat; + /** The title text position. This field is optional. */ + titleTextPosition?: GoogleSheets.TextPosition; + /** A treemap chart specification. */ + treemapChart?: GoogleSheets.TreemapChartSpec; + /** A waterfall chart specification. */ + waterfallChart?: GoogleSheets.WaterfallChartSpec; + }; + /** The Smart Chip. */ + type Chip = { + /** Properties of a linked person. */ + personProperties?: GoogleSheets.PersonProperties; + /** Properties of a rich link. */ + richLinkProperties?: GoogleSheets.RichLinkProperties; + }; + /** The run of a chip. The chip continues until the start index of the next run. */ + type ChipRun = { + /** Optional. The chip of this run. */ + chip?: GoogleSheets.Chip; + /** Required. The zero-based character index where this run starts, in UTF-16 code units. */ + startIndex?: number; + }; + /** Clears the basic filter, if any exists on the sheet. */ + type ClearBasicFilterRequest = { + /** The sheet ID on which the basic filter should be cleared. */ + sheetId?: number; + }; + /** The request for clearing a range of values in a spreadsheet. */ + type ClearValuesRequest = Record; + /** The response when clearing a range of values in a spreadsheet. */ + type ClearValuesResponse = { + /** The range (in A1 notation) that was cleared. (If the request was for an unbounded range or a range larger than the bounds of the sheet, this will be the actual range that was cleared, bounded to the sheet's limits.) */ + clearedRange?: string; + /** The spreadsheet the updates were applied to. */ + spreadsheetId?: string; + }; + /** Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... */ + type Color = { + /** The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). */ + alpha?: number; + /** The amount of blue in the color as a value in the interval [0, 1]. */ + blue?: number; + /** The amount of green in the color as a value in the interval [0, 1]. */ + green?: number; + /** The amount of red in the color as a value in the interval [0, 1]. */ + red?: number; + }; + /** A color value. */ + type ColorStyle = { + /** RGB color. The [`alpha`](https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/other#Color.FIELDS.alpha) value in the [`Color`](https://developers.google.com/workspace/sheets/api/reference/rest/v4/spreadsheets/other#color) object isn't generally supported. */ + rgbColor?: GoogleSheets.Color; + /** Theme color. */ + themeColor?: "THEME_COLOR_TYPE_UNSPECIFIED" | "TEXT" | "BACKGROUND" | "ACCENT1" | "ACCENT2" | "ACCENT3" | "ACCENT4" | "ACCENT5" | "ACCENT6" | "LINK"; + }; + /** A rule describing a conditional format. */ + type ConditionalFormatRule = { + /** The formatting is either "on" or "off" according to the rule. */ + booleanRule?: GoogleSheets.BooleanRule; + /** The formatting will vary based on the gradients in the rule. */ + gradientRule?: GoogleSheets.GradientRule; + /** The ranges that are formatted if the condition is true. All the ranges must be on the same grid. */ + ranges?: Array; + }; + /** The value of the condition. */ + type ConditionValue = { + /** A relative date (based on the current date). Valid only if the type is DATE_BEFORE, DATE_AFTER, DATE_ON_OR_BEFORE or DATE_ON_OR_AFTER. Relative dates are not supported in data validation. They are supported only in conditional formatting and conditional filters. */ + relativeDate?: "RELATIVE_DATE_UNSPECIFIED" | "PAST_YEAR" | "PAST_MONTH" | "PAST_WEEK" | "YESTERDAY" | "TODAY" | "TOMORROW"; + /** A value the condition is based on. The value is parsed as if the user typed into a cell. Formulas are supported (and must begin with an `=` or a '+'). */ + userEnteredValue?: string; + }; + /** Copies data from the source to the destination. */ + type CopyPasteRequest = { + /** The location to paste to. If the range covers a span that's a multiple of the source's height or width, then the data will be repeated to fill in the destination range. If the range is smaller than the source range, the entire source data will still be copied (beyond the end of the destination range). */ + destination?: GoogleSheets.GridRange; + /** How that data should be oriented when pasting. */ + pasteOrientation?: "NORMAL" | "TRANSPOSE"; + /** What kind of data to paste. */ + pasteType?: "PASTE_NORMAL" | "PASTE_VALUES" | "PASTE_FORMAT" | "PASTE_NO_BORDERS" | "PASTE_FORMULA" | "PASTE_DATA_VALIDATION" | "PASTE_CONDITIONAL_FORMATTING"; + /** The source range to copy. */ + source?: GoogleSheets.GridRange; + }; + /** The request to copy a sheet across spreadsheets. */ + type CopySheetToAnotherSpreadsheetRequest = { + /** The ID of the spreadsheet to copy the sheet to. */ + destinationSpreadsheetId?: string; + }; + /** A request to create developer metadata. */ + type CreateDeveloperMetadataRequest = { + /** The developer metadata to create. */ + developerMetadata?: GoogleSheets.DeveloperMetadata; + }; + /** The response from creating developer metadata. */ + type CreateDeveloperMetadataResponse = { + /** The developer metadata that was created. */ + developerMetadata?: GoogleSheets.DeveloperMetadata; + }; + /** Moves data from the source to the destination. */ + type CutPasteRequest = { + /** The top-left coordinate where the data should be pasted. */ + destination?: GoogleSheets.GridCoordinate; + /** What kind of data to paste. All the source data will be cut, regardless of what is pasted. */ + pasteType?: "PASTE_NORMAL" | "PASTE_VALUES" | "PASTE_FORMAT" | "PASTE_NO_BORDERS" | "PASTE_FORMULA" | "PASTE_DATA_VALIDATION" | "PASTE_CONDITIONAL_FORMATTING"; + /** The source data to cut. */ + source?: GoogleSheets.GridRange; + }; + /** The data execution status. A data execution is created to sync a data source object with the latest data from a DataSource. It is usually scheduled to run at background, you can check its state to tell if an execution completes There are several scenarios where a data execution is triggered to run: * Adding a data source creates an associated data source sheet as well as a data execution to sync the data from the data source to the sheet. * Updating a data source creates a data execution to refresh the associated data source sheet similarly. * You can send refresh request to explicitly refresh one or multiple data source objects. */ + type DataExecutionStatus = { + /** The error code. */ + errorCode?: "DATA_EXECUTION_ERROR_CODE_UNSPECIFIED" | "TIMED_OUT" | "TOO_MANY_ROWS" | "TOO_MANY_COLUMNS" | "TOO_MANY_CELLS" | "ENGINE" | "PARAMETER_INVALID" | "UNSUPPORTED_DATA_TYPE" | "DUPLICATE_COLUMN_NAMES" | "INTERRUPTED" | "CONCURRENT_QUERY" | "OTHER" | "TOO_MANY_CHARS_PER_CELL" | "DATA_NOT_FOUND" | "PERMISSION_DENIED" | "MISSING_COLUMN_ALIAS" | "OBJECT_NOT_FOUND" | "OBJECT_IN_ERROR_STATE" | "OBJECT_SPEC_INVALID" | "DATA_EXECUTION_CANCELLED"; + /** The error message, which may be empty. */ + errorMessage?: string; + /** Gets the time the data last successfully refreshed. */ + lastRefreshTime?: string; + /** The state of the data execution. */ + state?: "DATA_EXECUTION_STATE_UNSPECIFIED" | "NOT_STARTED" | "RUNNING" | "CANCELLING" | "SUCCEEDED" | "FAILED"; + }; + /** Filter that describes what data should be selected or returned from a request. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata). */ + type DataFilter = { + /** Selects data that matches the specified A1 range. */ + a1Range?: string; + /** Selects data associated with the developer metadata matching the criteria described by this DeveloperMetadataLookup. */ + developerMetadataLookup?: GoogleSheets.DeveloperMetadataLookup; + /** Selects data that matches the range described by the GridRange. */ + gridRange?: GoogleSheets.GridRange; + }; + /** A range of values whose location is specified by a DataFilter. */ + type DataFilterValueRange = { + /** The data filter describing the location of the values in the spreadsheet. */ + dataFilter?: GoogleSheets.DataFilter; + /** The major dimension of the values. */ + majorDimension?: "DIMENSION_UNSPECIFIED" | "ROWS" | "COLUMNS"; + /** The data to be written. If the provided values exceed any of the ranges matched by the data filter then the request fails. If the provided values are less than the matched ranges only the specified values are written, existing values in the matched ranges remain unaffected. */ + values?: Array>; + }; + /** Settings for one set of data labels. Data labels are annotations that appear next to a set of data, such as the points on a line chart, and provide additional information about what the data represents, such as a text representation of the value behind that point on the graph. */ + type DataLabel = { + /** Data to use for custom labels. Only used if type is set to CUSTOM. This data must be the same length as the series or other element this data label is applied to. In addition, if the series is split into multiple source ranges, this source data must come from the next column in the source data. For example, if the series is B2:B4,E6:E8 then this data must come from C2:C4,F6:F8. */ + customLabelData?: GoogleSheets.ChartData; + /** The placement of the data label relative to the labeled data. */ + placement?: "DATA_LABEL_PLACEMENT_UNSPECIFIED" | "CENTER" | "LEFT" | "RIGHT" | "ABOVE" | "BELOW" | "INSIDE_END" | "INSIDE_BASE" | "OUTSIDE_END"; + /** The text format used for the data label. The link field is not supported. */ + textFormat?: GoogleSheets.TextFormat; + /** The type of the data label. */ + type?: "DATA_LABEL_TYPE_UNSPECIFIED" | "NONE" | "DATA" | "CUSTOM"; + }; + /** Information about an external data source in the spreadsheet. */ + type DataSource = { + /** All calculated columns in the data source. */ + calculatedColumns?: Array; + /** The spreadsheet-scoped unique ID that identifies the data source. Example: 1080547365. */ + dataSourceId?: string; + /** The ID of the Sheet connected with the data source. The field cannot be changed once set. When creating a data source, an associated DATA_SOURCE sheet is also created, if the field is not specified, the ID of the created sheet will be randomly generated. */ + sheetId?: number; + /** The DataSourceSpec for the data source connected with this spreadsheet. */ + spec?: GoogleSheets.DataSourceSpec; + }; + /** Properties of a data source chart. */ + type DataSourceChartProperties = { + /** Output only. The data execution status. */ + dataExecutionStatus?: GoogleSheets.DataExecutionStatus; + /** ID of the data source that the chart is associated with. */ + dataSourceId?: string; + }; + /** A column in a data source. */ + type DataSourceColumn = { + /** The formula of the calculated column. */ + formula?: string; + /** The column reference. */ + reference?: GoogleSheets.DataSourceColumnReference; + }; + /** An unique identifier that references a data source column. */ + type DataSourceColumnReference = { + /** The display name of the column. It should be unique within a data source. */ + name?: string; + }; + /** A data source formula. */ + type DataSourceFormula = { + /** Output only. The data execution status. */ + dataExecutionStatus?: GoogleSheets.DataExecutionStatus; + /** The ID of the data source the formula is associated with. */ + dataSourceId?: string; + }; + /** Reference to a data source object. */ + type DataSourceObjectReference = { + /** References to a data source chart. */ + chartId?: number; + /** References to a cell containing DataSourceFormula. */ + dataSourceFormulaCell?: GoogleSheets.GridCoordinate; + /** References to a data source PivotTable anchored at the cell. */ + dataSourcePivotTableAnchorCell?: GoogleSheets.GridCoordinate; + /** References to a DataSourceTable anchored at the cell. */ + dataSourceTableAnchorCell?: GoogleSheets.GridCoordinate; + /** References to a DATA_SOURCE sheet. */ + sheetId?: string; + }; + /** A list of references to data source objects. */ + type DataSourceObjectReferences = { + /** The references. */ + references?: Array; + }; + /** A parameter in a data source's query. The parameter allows the user to pass in values from the spreadsheet into a query. */ + type DataSourceParameter = { + /** Named parameter. Must be a legitimate identifier for the DataSource that supports it. For example, [BigQuery identifier](https://cloud.google.com/bigquery/docs/reference/standard-sql/lexical#identifiers). */ + name?: string; + /** ID of a NamedRange. Its size must be 1x1. */ + namedRangeId?: string; + /** A range that contains the value of the parameter. Its size must be 1x1. */ + range?: GoogleSheets.GridRange; + }; + /** A schedule for data to refresh every day in a given time interval. */ + type DataSourceRefreshDailySchedule = { + /** The start time of a time interval in which a data source refresh is scheduled. Only `hours` part is used. The time interval size defaults to that in the Sheets editor. */ + startTime?: GoogleSheets.TimeOfDay; + }; + /** A monthly schedule for data to refresh on specific days in the month in a given time interval. */ + type DataSourceRefreshMonthlySchedule = { + /** Days of the month to refresh. Only 1-28 are supported, mapping to the 1st to the 28th day. At least one day must be specified. */ + daysOfMonth?: Array; + /** The start time of a time interval in which a data source refresh is scheduled. Only `hours` part is used. The time interval size defaults to that in the Sheets editor. */ + startTime?: GoogleSheets.TimeOfDay; + }; + /** Schedule for refreshing the data source. Data sources in the spreadsheet are refreshed within a time interval. You can specify the start time by clicking the Scheduled Refresh button in the Sheets editor, but the interval is fixed at 4 hours. For example, if you specify a start time of 8 AM , the refresh will take place between 8 AM and 12 PM every day. */ + type DataSourceRefreshSchedule = { + /** Daily refresh schedule. */ + dailySchedule?: GoogleSheets.DataSourceRefreshDailySchedule; + /** True if the refresh schedule is enabled, or false otherwise. */ + enabled?: boolean; + /** Monthly refresh schedule. */ + monthlySchedule?: GoogleSheets.DataSourceRefreshMonthlySchedule; + /** Output only. The time interval of the next run. */ + nextRun?: GoogleSheets.Interval; + /** The scope of the refresh. Must be ALL_DATA_SOURCES. */ + refreshScope?: "DATA_SOURCE_REFRESH_SCOPE_UNSPECIFIED" | "ALL_DATA_SOURCES"; + /** Weekly refresh schedule. */ + weeklySchedule?: GoogleSheets.DataSourceRefreshWeeklySchedule; + }; + /** A weekly schedule for data to refresh on specific days in a given time interval. */ + type DataSourceRefreshWeeklySchedule = { + /** Days of the week to refresh. At least one day must be specified. */ + daysOfWeek?: Array<"DAY_OF_WEEK_UNSPECIFIED" | "MONDAY" | "TUESDAY" | "WEDNESDAY" | "THURSDAY" | "FRIDAY" | "SATURDAY" | "SUNDAY">; + /** The start time of a time interval in which a data source refresh is scheduled. Only `hours` part is used. The time interval size defaults to that in the Sheets editor. */ + startTime?: GoogleSheets.TimeOfDay; + }; + /** A range along a single dimension on a DATA_SOURCE sheet. */ + type DataSourceSheetDimensionRange = { + /** The columns on the data source sheet. */ + columnReferences?: Array; + /** The ID of the data source sheet the range is on. */ + sheetId?: number; + }; + /** Additional properties of a DATA_SOURCE sheet. */ + type DataSourceSheetProperties = { + /** The columns displayed on the sheet, corresponding to the values in RowData. */ + columns?: Array; + /** The data execution status. */ + dataExecutionStatus?: GoogleSheets.DataExecutionStatus; + /** ID of the DataSource the sheet is connected to. */ + dataSourceId?: string; + }; + /** This specifies the details of the data source. For example, for BigQuery, this specifies information about the BigQuery source. */ + type DataSourceSpec = { + /** A BigQueryDataSourceSpec. */ + bigQuery?: GoogleSheets.BigQueryDataSourceSpec; + /** A LookerDatasourceSpec. */ + looker?: GoogleSheets.LookerDataSourceSpec; + /** The parameters of the data source, used when querying the data source. */ + parameters?: Array; + }; + /** A data source table, which allows the user to import a static table of data from the DataSource into Sheets. This is also known as "Extract" in the Sheets editor. */ + type DataSourceTable = { + /** Columns selected for the data source table. The column_selection_type must be SELECTED. */ + columns?: Array; + /** The type to select columns for the data source table. Defaults to SELECTED. */ + columnSelectionType?: "DATA_SOURCE_TABLE_COLUMN_SELECTION_TYPE_UNSPECIFIED" | "SELECTED" | "SYNC_ALL"; + /** Output only. The data execution status. */ + dataExecutionStatus?: GoogleSheets.DataExecutionStatus; + /** The ID of the data source the data source table is associated with. */ + dataSourceId?: string; + /** Filter specifications in the data source table. */ + filterSpecs?: Array; + /** The limit of rows to return. If not set, a default limit is applied. Please refer to the Sheets editor for the default and max limit. */ + rowLimit?: number; + /** Sort specifications in the data source table. The result of the data source table is sorted based on the sort specifications in order. */ + sortSpecs?: Array; + }; + /** A data validation rule. */ + type DataValidationRule = { + /** The condition that data in the cell must match. */ + condition?: GoogleSheets.BooleanCondition; + /** A message to show the user when adding data to the cell. */ + inputMessage?: string; + /** True if the UI should be customized based on the kind of condition. If true, "List" conditions will show a dropdown. */ + showCustomUi?: boolean; + /** True if invalid data should be rejected. */ + strict?: boolean; + }; + /** Allows you to organize the date-time values in a source data column into buckets based on selected parts of their date or time values. For example, consider a pivot table showing sales transactions by date: +----------+--------------+ | Date | SUM of Sales | +----------+--------------+ | 1/1/2017 | $621.14 | | 2/3/2017 | $708.84 | | 5/8/2017 | $326.84 | ... +----------+--------------+ Applying a date-time group rule with a DateTimeRuleType of YEAR_MONTH results in the following pivot table. +--------------+--------------+ | Grouped Date | SUM of Sales | +--------------+--------------+ | 2017-Jan | $53,731.78 | | 2017-Feb | $83,475.32 | | 2017-Mar | $94,385.05 | ... +--------------+--------------+ */ + type DateTimeRule = { + /** The type of date-time grouping to apply. */ + type?: "DATE_TIME_RULE_TYPE_UNSPECIFIED" | "SECOND" | "MINUTE" | "HOUR" | "HOUR_MINUTE" | "HOUR_MINUTE_AMPM" | "DAY_OF_WEEK" | "DAY_OF_YEAR" | "DAY_OF_MONTH" | "DAY_MONTH" | "MONTH" | "QUARTER" | "YEAR" | "YEAR_MONTH" | "YEAR_QUARTER" | "YEAR_MONTH_DAY"; + }; + /** Removes the banded range with the given ID from the spreadsheet. */ + type DeleteBandingRequest = { + /** The ID of the banded range to delete. */ + bandedRangeId?: number; + }; + /** Deletes a conditional format rule at the given index. All subsequent rules' indexes are decremented. */ + type DeleteConditionalFormatRuleRequest = { + /** The zero-based index of the rule to be deleted. */ + index?: number; + /** The sheet the rule is being deleted from. */ + sheetId?: number; + }; + /** The result of deleting a conditional format rule. */ + type DeleteConditionalFormatRuleResponse = { + /** The rule that was deleted. */ + rule?: GoogleSheets.ConditionalFormatRule; + }; + /** Deletes a data source. The request also deletes the associated data source sheet, and unlinks all associated data source objects. */ + type DeleteDataSourceRequest = { + /** The ID of the data source to delete. */ + dataSourceId?: string; + }; + /** A request to delete developer metadata. */ + type DeleteDeveloperMetadataRequest = { + /** The data filter describing the criteria used to select which developer metadata entry to delete. */ + dataFilter?: GoogleSheets.DataFilter; + }; + /** The response from deleting developer metadata. */ + type DeleteDeveloperMetadataResponse = { + /** The metadata that was deleted. */ + deletedDeveloperMetadata?: Array; + }; + /** Deletes a group over the specified range by decrementing the depth of the dimensions in the range. For example, assume the sheet has a depth-1 group over B:E and a depth-2 group over C:D. Deleting a group over D:E leaves the sheet with a depth-1 group over B:D and a depth-2 group over C:C. */ + type DeleteDimensionGroupRequest = { + /** The range of the group to be deleted. */ + range?: GoogleSheets.DimensionRange; + }; + /** The result of deleting a group. */ + type DeleteDimensionGroupResponse = { + /** All groups of a dimension after deleting a group from that dimension. */ + dimensionGroups?: Array; + }; + /** Deletes the dimensions from the sheet. */ + type DeleteDimensionRequest = { + /** The dimensions to delete from the sheet. */ + range?: GoogleSheets.DimensionRange; + }; + /** Removes rows within this range that contain values in the specified columns that are duplicates of values in any previous row. Rows with identical values but different letter cases, formatting, or formulas are considered to be duplicates. This request also removes duplicate rows hidden from view (for example, due to a filter). When removing duplicates, the first instance of each duplicate row scanning from the top downwards is kept in the resulting range. Content outside of the specified range isn't removed, and rows considered duplicates do not have to be adjacent to each other in the range. */ + type DeleteDuplicatesRequest = { + /** The columns in the range to analyze for duplicate values. If no columns are selected then all columns are analyzed for duplicates. */ + comparisonColumns?: Array; + /** The range to remove duplicates rows from. */ + range?: GoogleSheets.GridRange; + }; + /** The result of removing duplicates in a range. */ + type DeleteDuplicatesResponse = { + /** The number of duplicate rows removed. */ + duplicatesRemovedCount?: number; + }; + /** Deletes the embedded object with the given ID. */ + type DeleteEmbeddedObjectRequest = { + /** The ID of the embedded object to delete. */ + objectId?: number; + }; + /** Deletes a particular filter view. */ + type DeleteFilterViewRequest = { + /** The ID of the filter to delete. */ + filterId?: number; + }; + /** Removes the named range with the given ID from the spreadsheet. */ + type DeleteNamedRangeRequest = { + /** The ID of the named range to delete. */ + namedRangeId?: string; + }; + /** Deletes the protected range with the given ID. */ + type DeleteProtectedRangeRequest = { + /** The ID of the protected range to delete. */ + protectedRangeId?: number; + }; + /** Deletes a range of cells, shifting other cells into the deleted area. */ + type DeleteRangeRequest = { + /** The range of cells to delete. */ + range?: GoogleSheets.GridRange; + /** The dimension from which deleted cells will be replaced with. If ROWS, existing cells will be shifted upward to replace the deleted cells. If COLUMNS, existing cells will be shifted left to replace the deleted cells. */ + shiftDimension?: "DIMENSION_UNSPECIFIED" | "ROWS" | "COLUMNS"; + }; + /** Deletes the requested sheet. */ + type DeleteSheetRequest = { + /** The ID of the sheet to delete. If the sheet is of DATA_SOURCE type, the associated DataSource is also deleted. */ + sheetId?: number; + }; + /** Removes the table with the given ID from the spreadsheet. */ + type DeleteTableRequest = { + /** The ID of the table to delete. */ + tableId?: string; + }; + /** Developer metadata associated with a location or object in a spreadsheet. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata). Developer metadata may be used to associate arbitrary data with various parts of a spreadsheet and it will remain associated at those locations as they move around and the spreadsheet is edited. For example, if developer metadata is associated with row 5 and another row is then subsequently inserted above row 5, that original metadata is still associated with the row it was first associated with (what is now row 6). If the associated object is deleted then its metadata is deleted too. */ + type DeveloperMetadata = { + /** The location where the metadata is associated. */ + location?: GoogleSheets.DeveloperMetadataLocation; + /** The spreadsheet-scoped unique ID that identifies the metadata. IDs may be specified when metadata is created, otherwise one will be randomly generated and assigned. Must be positive. */ + metadataId?: number; + /** The metadata key. There may be multiple metadata in a spreadsheet with the same key. Developer metadata must always have a key specified. */ + metadataKey?: string; + /** Data associated with the metadata's key. */ + metadataValue?: string; + /** The metadata visibility. Developer metadata must always have visibility specified. */ + visibility?: "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED" | "DOCUMENT" | "PROJECT"; + }; + /** A location where metadata may be associated in a spreadsheet. */ + type DeveloperMetadataLocation = { + /** Represents the row or column when metadata is associated with a dimension. The specified DimensionRange must represent a single row or column. It cannot be unbounded or span multiple rows or columns. */ + dimensionRange?: GoogleSheets.DimensionRange; + /** The type of location this object represents. This field is read-only. */ + locationType?: "DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED" | "ROW" | "COLUMN" | "SHEET" | "SPREADSHEET"; + /** The ID of the sheet when metadata is associated with an entire sheet. */ + sheetId?: number; + /** True when metadata is associated with an entire spreadsheet. */ + spreadsheet?: boolean; + }; + /** Selects DeveloperMetadata that matches all of the specified fields. For example, if only a metadata ID is specified this considers the DeveloperMetadata with that particular unique ID. If a metadata key is specified, this considers all developer metadata with that key. If a key, visibility, and location type are all specified, this considers all developer metadata with that key and visibility that are associated with a location of that type. In general, this selects all DeveloperMetadata that match the intersection of all the specified fields; any field or combination of fields may be specified. */ + type DeveloperMetadataLookup = { + /** Determines how this lookup matches the location. If this field is specified as EXACT, only developer metadata associated on the exact location specified is matched. If this field is specified to INTERSECTING, developer metadata associated on intersecting locations is also matched. If left unspecified, this field assumes a default value of INTERSECTING. If this field is specified, a metadataLocation must also be specified. */ + locationMatchingStrategy?: "DEVELOPER_METADATA_LOCATION_MATCHING_STRATEGY_UNSPECIFIED" | "EXACT_LOCATION" | "INTERSECTING_LOCATION"; + /** Limits the selected developer metadata to those entries which are associated with locations of the specified type. For example, when this field is specified as ROW this lookup only considers developer metadata associated on rows. If the field is left unspecified, all location types are considered. This field cannot be specified as SPREADSHEET when the locationMatchingStrategy is specified as INTERSECTING or when the metadataLocation is specified as a non-spreadsheet location. Spreadsheet metadata cannot intersect any other developer metadata location. This field also must be left unspecified when the locationMatchingStrategy is specified as EXACT. */ + locationType?: "DEVELOPER_METADATA_LOCATION_TYPE_UNSPECIFIED" | "ROW" | "COLUMN" | "SHEET" | "SPREADSHEET"; + /** Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_id. */ + metadataId?: number; + /** Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_key. */ + metadataKey?: string; + /** Limits the selected developer metadata to those entries associated with the specified location. This field either matches exact locations or all intersecting locations according the specified locationMatchingStrategy. */ + metadataLocation?: GoogleSheets.DeveloperMetadataLocation; + /** Limits the selected developer metadata to that which has a matching DeveloperMetadata.metadata_value. */ + metadataValue?: string; + /** Limits the selected developer metadata to that which has a matching DeveloperMetadata.visibility. If left unspecified, all developer metadata visible to the requesting project is considered. */ + visibility?: "DEVELOPER_METADATA_VISIBILITY_UNSPECIFIED" | "DOCUMENT" | "PROJECT"; + }; + /** A group over an interval of rows or columns on a sheet, which can contain or be contained within other groups. A group can be collapsed or expanded as a unit on the sheet. */ + type DimensionGroup = { + /** This field is true if this group is collapsed. A collapsed group remains collapsed if an overlapping group at a shallower depth is expanded. A true value does not imply that all dimensions within the group are hidden, since a dimension's visibility can change independently from this group property. However, when this property is updated, all dimensions within it are set to hidden if this field is true, or set to visible if this field is false. */ + collapsed?: boolean; + /** The depth of the group, representing how many groups have a range that wholly contains the range of this group. */ + depth?: number; + /** The range over which this group exists. */ + range?: GoogleSheets.DimensionRange; + }; + /** Properties about a dimension. */ + type DimensionProperties = { + /** Output only. If set, this is a column in a data source sheet. */ + dataSourceColumnReference?: GoogleSheets.DataSourceColumnReference; + /** The developer metadata associated with a single row or column. */ + developerMetadata?: Array; + /** True if this dimension is being filtered. This field is read-only. */ + hiddenByFilter?: boolean; + /** True if this dimension is explicitly hidden. */ + hiddenByUser?: boolean; + /** The height (if a row) or width (if a column) of the dimension in pixels. */ + pixelSize?: number; + }; + /** A range along a single dimension on a sheet. All indexes are zero-based. Indexes are half open: the start index is inclusive and the end index is exclusive. Missing indexes indicate the range is unbounded on that side. */ + type DimensionRange = { + /** The dimension of the span. */ + dimension?: "DIMENSION_UNSPECIFIED" | "ROWS" | "COLUMNS"; + /** The end (exclusive) of the span, or not set if unbounded. */ + endIndex?: number; + /** The sheet this span is on. */ + sheetId?: number; + /** The start (inclusive) of the span, or not set if unbounded. */ + startIndex?: number; + }; + /** Duplicates a particular filter view. */ + type DuplicateFilterViewRequest = { + /** The ID of the filter being duplicated. */ + filterId?: number; + }; + /** The result of a filter view being duplicated. */ + type DuplicateFilterViewResponse = { + /** The newly created filter. */ + filter?: GoogleSheets.FilterView; + }; + /** Duplicates the contents of a sheet. */ + type DuplicateSheetRequest = { + /** The zero-based index where the new sheet should be inserted. The index of all sheets after this are incremented. */ + insertSheetIndex?: number; + /** If set, the ID of the new sheet. If not set, an ID is chosen. If set, the ID must not conflict with any existing sheet ID. If set, it must be non-negative. */ + newSheetId?: number; + /** The name of the new sheet. If empty, a new name is chosen for you. */ + newSheetName?: string; + /** The sheet to duplicate. If the source sheet is of DATA_SOURCE type, its backing DataSource is also duplicated and associated with the new copy of the sheet. No data execution is triggered, the grid data of this sheet is also copied over but only available after the batch request completes. */ + sourceSheetId?: number; + }; + /** The result of duplicating a sheet. */ + type DuplicateSheetResponse = { + /** The properties of the duplicate sheet. */ + properties?: GoogleSheets.SheetProperties; + }; + /** The editors of a protected range. */ + type Editors = { + /** True if anyone in the document's domain has edit access to the protected range. Domain protection is only supported on documents within a domain. */ + domainUsersCanEdit?: boolean; + /** The email addresses of groups with edit access to the protected range. */ + groups?: Array; + /** The email addresses of users with edit access to the protected range. */ + users?: Array; + }; + /** A chart embedded in a sheet. */ + type EmbeddedChart = { + /** The border of the chart. */ + border?: GoogleSheets.EmbeddedObjectBorder; + /** The ID of the chart. */ + chartId?: number; + /** The position of the chart. */ + position?: GoogleSheets.EmbeddedObjectPosition; + /** The specification of the chart. */ + spec?: GoogleSheets.ChartSpec; + }; + /** A border along an embedded object. */ + type EmbeddedObjectBorder = { + /** The color of the border. Deprecated: Use color_style. */ + color?: GoogleSheets.Color; + /** The color of the border. If color is also set, this field takes precedence. */ + colorStyle?: GoogleSheets.ColorStyle; + }; + /** The position of an embedded object such as a chart. */ + type EmbeddedObjectPosition = { + /** If true, the embedded object is put on a new sheet whose ID is chosen for you. Used only when writing. */ + newSheet?: boolean; + /** The position at which the object is overlaid on top of a grid. */ + overlayPosition?: GoogleSheets.OverlayPosition; + /** The sheet this is on. Set only if the embedded object is on its own sheet. Must be non-negative. */ + sheetId?: number; + }; + /** An error in a cell. */ + type ErrorValue = { + /** A message with more information about the error (in the spreadsheet's locale). */ + message?: string; + /** The type of error. */ + type?: "ERROR_TYPE_UNSPECIFIED" | "ERROR" | "NULL_VALUE" | "DIVIDE_BY_ZERO" | "VALUE" | "REF" | "NAME" | "NUM" | "N_A" | "LOADING"; + }; + /** The kinds of value that a cell in a spreadsheet can have. */ + type ExtendedValue = { + /** Represents a boolean value. */ + boolValue?: boolean; + /** Represents an error. This field is read-only. */ + errorValue?: GoogleSheets.ErrorValue; + /** Represents a formula. */ + formulaValue?: string; + /** Represents a double value. Note: Dates, Times and DateTimes are represented as doubles in SERIAL_NUMBER format. */ + numberValue?: number; + /** Represents a string value. Leading single quotes are not included. For example, if the user typed `'123` into the UI, this would be represented as a `stringValue` of `"123"`. */ + stringValue?: string; + }; + /** Criteria for showing or hiding rows in a filter or filter view. */ + type FilterCriteria = { + /** A condition that must be `true` for values to be shown. (This does not override hidden_values -- if a value is listed there, it will still be hidden.) */ + condition?: GoogleSheets.BooleanCondition; + /** Values that should be hidden. */ + hiddenValues?: Array; + /** The background fill color to filter by; only cells with this fill color are shown. Mutually exclusive with visible_foreground_color. Deprecated: Use visible_background_color_style. */ + visibleBackgroundColor?: GoogleSheets.Color; + /** The background fill color to filter by; only cells with this fill color are shown. This field is mutually exclusive with visible_foreground_color, and must be set to an RGB-type color. If visible_background_color is also set, this field takes precedence. */ + visibleBackgroundColorStyle?: GoogleSheets.ColorStyle; + /** The foreground color to filter by; only cells with this foreground color are shown. Mutually exclusive with visible_background_color. Deprecated: Use visible_foreground_color_style. */ + visibleForegroundColor?: GoogleSheets.Color; + /** The foreground color to filter by; only cells with this foreground color are shown. This field is mutually exclusive with visible_background_color, and must be set to an RGB-type color. If visible_foreground_color is also set, this field takes precedence. */ + visibleForegroundColorStyle?: GoogleSheets.ColorStyle; + }; + /** The filter criteria associated with a specific column. */ + type FilterSpec = { + /** The zero-based column index. */ + columnIndex?: number; + /** Reference to a data source column. */ + dataSourceColumnReference?: GoogleSheets.DataSourceColumnReference; + /** The criteria for the column. */ + filterCriteria?: GoogleSheets.FilterCriteria; + }; + /** A filter view. For more information, see [Manage data visibility with filters](https://developers.google.com/workspace/sheets/api/guides/filters). */ + type FilterView = { + /** The criteria for showing/hiding values per column. The map's key is the column index, and the value is the criteria for that column. This field is deprecated in favor of filter_specs. */ + criteria?: Record; + /** The filter criteria for showing or hiding values per column. Both criteria and filter_specs are populated in responses. If both fields are specified in an update request, this field takes precedence. */ + filterSpecs?: Array; + /** The ID of the filter view. */ + filterViewId?: number; + /** The named range this filter view is backed by, if any. When writing, only one of range, named_range_id, or table_id may be set. */ + namedRangeId?: string; + /** The range this filter view covers. When writing, only one of range, named_range_id, or table_id may be set. */ + range?: GoogleSheets.GridRange; + /** The sort order per column. Later specifications are used when values are equal in the earlier specifications. */ + sortSpecs?: Array; + /** The table this filter view is backed by, if any. When writing, only one of range, named_range_id, or table_id may be set. */ + tableId?: string; + /** The name of the filter view. */ + title?: string; + }; + /** Finds and replaces data in cells over a range, sheet, or all sheets. */ + type FindReplaceRequest = { + /** True to find/replace over all sheets. */ + allSheets?: boolean; + /** The value to search. */ + find?: string; + /** True if the search should include cells with formulas. False to skip cells with formulas. */ + includeFormulas?: boolean; + /** True if the search is case sensitive. */ + matchCase?: boolean; + /** True if the find value should match the entire cell. */ + matchEntireCell?: boolean; + /** The range to find/replace over. */ + range?: GoogleSheets.GridRange; + /** The value to use as the replacement. */ + replacement?: string; + /** True if the find value is a regex. The regular expression and replacement should follow Java regex rules at https://docs.oracle.com/javase/8/docs/api/java/util/regex/Pattern.html. The replacement string is allowed to refer to capturing groups. For example, if one cell has the contents `"Google Sheets"` and another has `"Google Docs"`, then searching for `"o.* (.*)"` with a replacement of `"$1 Rocks"` would change the contents of the cells to `"GSheets Rocks"` and `"GDocs Rocks"` respectively. */ + searchByRegex?: boolean; + /** The sheet to find/replace over. */ + sheetId?: number; + }; + /** The result of the find/replace. */ + type FindReplaceResponse = { + /** The number of formula cells changed. */ + formulasChanged?: number; + /** The number of occurrences (possibly multiple within a cell) changed. For example, if replacing `"e"` with `"o"` in `"Google Sheets"`, this would be `"3"` because `"Google Sheets"` -> `"Googlo Shoots"`. */ + occurrencesChanged?: number; + /** The number of rows changed. */ + rowsChanged?: number; + /** The number of sheets changed. */ + sheetsChanged?: number; + /** The number of non-formula cells changed. */ + valuesChanged?: number; + }; + /** The request for retrieving a Spreadsheet. */ + type GetSpreadsheetByDataFilterRequest = { + /** The DataFilters used to select which ranges to retrieve from the spreadsheet. */ + dataFilters?: Array; + /** True if tables should be excluded in the banded ranges. False if not set. */ + excludeTablesInBandedRanges?: boolean; + /** True if grid data should be returned. This parameter is ignored if a field mask was set in the request. */ + includeGridData?: boolean; + }; + /** A rule that applies a gradient color scale format, based on the interpolation points listed. The format of a cell will vary based on its contents as compared to the values of the interpolation points. */ + type GradientRule = { + /** The final interpolation point. */ + maxpoint?: GoogleSheets.InterpolationPoint; + /** An optional midway interpolation point. */ + midpoint?: GoogleSheets.InterpolationPoint; + /** The starting interpolation point. */ + minpoint?: GoogleSheets.InterpolationPoint; + }; + /** A coordinate in a sheet. All indexes are zero-based. */ + type GridCoordinate = { + /** The column index of the coordinate. */ + columnIndex?: number; + /** The row index of the coordinate. */ + rowIndex?: number; + /** The sheet this coordinate is on. */ + sheetId?: number; + }; + /** Data in the grid, as well as metadata about the dimensions. */ + type GridData = { + /** Metadata about the requested columns in the grid, starting with the column in start_column. */ + columnMetadata?: Array; + /** The data in the grid, one entry per row, starting with the row in startRow. The values in RowData will correspond to columns starting at start_column. */ + rowData?: Array; + /** Metadata about the requested rows in the grid, starting with the row in start_row. */ + rowMetadata?: Array; + /** The first column this GridData refers to, zero-based. */ + startColumn?: number; + /** The first row this GridData refers to, zero-based. */ + startRow?: number; + }; + /** Properties of a grid. */ + type GridProperties = { + /** The number of columns in the grid. */ + columnCount?: number; + /** True if the column grouping control toggle is shown after the group. */ + columnGroupControlAfter?: boolean; + /** The number of columns that are frozen in the grid. */ + frozenColumnCount?: number; + /** The number of rows that are frozen in the grid. */ + frozenRowCount?: number; + /** True if the grid isn't showing gridlines in the UI. */ + hideGridlines?: boolean; + /** The number of rows in the grid. */ + rowCount?: number; + /** True if the row grouping control toggle is shown after the group. */ + rowGroupControlAfter?: boolean; + }; + /** A range on a sheet. All indexes are zero-based. Indexes are half open, i.e. the start index is inclusive and the end index is exclusive -- [start_index, end_index). Missing indexes indicate the range is unbounded on that side. For example, if `"Sheet1"` is sheet ID 123456, then: `Sheet1!A1:A1 == sheet_id: 123456, start_row_index: 0, end_row_index: 1, start_column_index: 0, end_column_index: 1` `Sheet1!A3:B4 == sheet_id: 123456, start_row_index: 2, end_row_index: 4, start_column_index: 0, end_column_index: 2` `Sheet1!A:B == sheet_id: 123456, start_column_index: 0, end_column_index: 2` `Sheet1!A5:B == sheet_id: 123456, start_row_index: 4, start_column_index: 0, end_column_index: 2` `Sheet1 == sheet_id: 123456` The start index must always be less than or equal to the end index. If the start index equals the end index, then the range is empty. Empty ranges are typically not meaningful and are usually rendered in the UI as `#REF!`. */ + type GridRange = { + /** The end column (exclusive) of the range, or not set if unbounded. */ + endColumnIndex?: number; + /** The end row (exclusive) of the range, or not set if unbounded. */ + endRowIndex?: number; + /** The sheet this range is on. */ + sheetId?: number; + /** The start column (inclusive) of the range, or not set if unbounded. */ + startColumnIndex?: number; + /** The start row (inclusive) of the range, or not set if unbounded. */ + startRowIndex?: number; + }; + /** A histogram chart. A histogram chart groups data items into bins, displaying each bin as a column of stacked items. Histograms are used to display the distribution of a dataset. Each column of items represents a range into which those items fall. The number of bins can be chosen automatically or specified explicitly. */ + type HistogramChartSpec = { + /** By default the bucket size (the range of values stacked in a single column) is chosen automatically, but it may be overridden here. E.g., A bucket size of 1.5 results in buckets from 0 - 1.5, 1.5 - 3.0, etc. Cannot be negative. This field is optional. */ + bucketSize?: number; + /** The position of the chart legend. */ + legendPosition?: "HISTOGRAM_CHART_LEGEND_POSITION_UNSPECIFIED" | "BOTTOM_LEGEND" | "LEFT_LEGEND" | "RIGHT_LEGEND" | "TOP_LEGEND" | "NO_LEGEND" | "INSIDE_LEGEND"; + /** The outlier percentile is used to ensure that outliers do not adversely affect the calculation of bucket sizes. For example, setting an outlier percentile of 0.05 indicates that the top and bottom 5% of values when calculating buckets. The values are still included in the chart, they will be added to the first or last buckets instead of their own buckets. Must be between 0.0 and 0.5. */ + outlierPercentile?: number; + /** The series for a histogram may be either a single series of values to be bucketed or multiple series, each of the same length, containing the name of the series followed by the values to be bucketed for that series. */ + series?: Array; + /** Whether horizontal divider lines should be displayed between items in each column. */ + showItemDividers?: boolean; + }; + /** Allows you to organize the numeric values in a source data column into buckets of a constant size. All values from HistogramRule.start to HistogramRule.end are placed into groups of size HistogramRule.interval. In addition, all values below HistogramRule.start are placed in one group, and all values above HistogramRule.end are placed in another. Only HistogramRule.interval is required, though if HistogramRule.start and HistogramRule.end are both provided, HistogramRule.start must be less than HistogramRule.end. For example, a pivot table showing average purchase amount by age that has 50+ rows: +-----+-------------------+ | Age | AVERAGE of Amount | +-----+-------------------+ | 16 | $27.13 | | 17 | $5.24 | | 18 | $20.15 | ... +-----+-------------------+ could be turned into a pivot table that looks like the one below by applying a histogram group rule with a HistogramRule.start of 25, an HistogramRule.interval of 20, and an HistogramRule.end of 65. +-------------+-------------------+ | Grouped Age | AVERAGE of Amount | +-------------+-------------------+ | < 25 | $19.34 | | 25-45 | $31.43 | | 45-65 | $35.87 | | > 65 | $27.55 | +-------------+-------------------+ | Grand Total | $29.12 | +-------------+-------------------+ */ + type HistogramRule = { + /** The maximum value at which items are placed into buckets of constant size. Values above end are lumped into a single bucket. This field is optional. */ + end?: number; + /** The size of the buckets that are created. Must be positive. */ + interval?: number; + /** The minimum value at which items are placed into buckets of constant size. Values below start are lumped into a single bucket. This field is optional. */ + start?: number; + }; + /** A histogram series containing the series color and data. */ + type HistogramSeries = { + /** The color of the column representing this series in each bucket. This field is optional. Deprecated: Use bar_color_style. */ + barColor?: GoogleSheets.Color; + /** The color of the column representing this series in each bucket. This field is optional. If bar_color is also set, this field takes precedence. */ + barColorStyle?: GoogleSheets.ColorStyle; + /** The data for this histogram series. */ + data?: GoogleSheets.ChartData; + }; + /** Inserts rows or columns in a sheet at a particular index. */ + type InsertDimensionRequest = { + /** Whether dimension properties should be extended from the dimensions before or after the newly inserted dimensions. True to inherit from the dimensions before (in which case the start index must be greater than 0), and false to inherit from the dimensions after. For example, if row index 0 has red background and row index 1 has a green background, then inserting 2 rows at index 1 can inherit either the green or red background. If `inheritFromBefore` is true, the two new rows will be red (because the row before the insertion point was red), whereas if `inheritFromBefore` is false, the two new rows will be green (because the row after the insertion point was green). */ + inheritFromBefore?: boolean; + /** The dimensions to insert. Both the start and end indexes must be bounded. */ + range?: GoogleSheets.DimensionRange; + }; + /** Inserts cells into a range, shifting the existing cells over or down. */ + type InsertRangeRequest = { + /** The range to insert new cells into. The range is constrained to the current sheet boundaries. */ + range?: GoogleSheets.GridRange; + /** The dimension which will be shifted when inserting cells. If ROWS, existing cells will be shifted down. If COLUMNS, existing cells will be shifted right. */ + shiftDimension?: "DIMENSION_UNSPECIFIED" | "ROWS" | "COLUMNS"; + }; + /** A single interpolation point on a gradient conditional format. These pin the gradient color scale according to the color, type and value chosen. */ + type InterpolationPoint = { + /** The color this interpolation point should use. Deprecated: Use color_style. */ + color?: GoogleSheets.Color; + /** The color this interpolation point should use. If color is also set, this field takes precedence. */ + colorStyle?: GoogleSheets.ColorStyle; + /** How the value should be interpreted. */ + type?: "INTERPOLATION_POINT_TYPE_UNSPECIFIED" | "MIN" | "MAX" | "NUMBER" | "PERCENT" | "PERCENTILE"; + /** The value this interpolation point uses. May be a formula. Unused if type is MIN or MAX. */ + value?: string; + }; + /** Represents a time interval, encoded as a Timestamp start (inclusive) and a Timestamp end (exclusive). The start must be less than or equal to the end. When the start equals the end, the interval is empty (matches no time). When both start and end are unspecified, the interval matches any time. */ + type Interval = { + /** Optional. Exclusive end of the interval. If specified, a Timestamp matching this interval will have to be before the end. */ + endTime?: string; + /** Optional. Inclusive start of the interval. If specified, a Timestamp matching this interval will have to be the same or after the start. */ + startTime?: string; + }; + /** Settings to control how circular dependencies are resolved with iterative calculation. */ + type IterativeCalculationSettings = { + /** When iterative calculation is enabled and successive results differ by less than this threshold value, the calculation rounds stop. */ + convergenceThreshold?: number; + /** When iterative calculation is enabled, the maximum number of calculation rounds to perform. */ + maxIterations?: number; + }; + /** Formatting options for key value. */ + type KeyValueFormat = { + /** Specifies the horizontal text positioning of key value. This field is optional. If not specified, default positioning is used. */ + position?: GoogleSheets.TextPosition; + /** Text formatting options for key value. The link field is not supported. */ + textFormat?: GoogleSheets.TextFormat; + }; + /** Properties that describe the style of a line. */ + type LineStyle = { + /** The dash type of the line. */ + type?: "LINE_DASH_TYPE_UNSPECIFIED" | "INVISIBLE" | "CUSTOM" | "SOLID" | "DOTTED" | "MEDIUM_DASHED" | "MEDIUM_DASHED_DOTTED" | "LONG_DASHED" | "LONG_DASHED_DOTTED"; + /** The thickness of the line, in px. */ + width?: number; + }; + /** An external or local reference. */ + type Link = { + /** The link identifier. */ + uri?: string; + }; + /** The specification of a Looker data source. */ + type LookerDataSourceSpec = { + /** Name of a Looker model explore. */ + explore?: string; + /** A Looker instance URL. */ + instanceUri?: string; + /** Name of a Looker model. */ + model?: string; + }; + /** Allows you to manually organize the values in a source data column into buckets with names of your choosing. For example, a pivot table that aggregates population by state: +-------+-------------------+ | State | SUM of Population | +-------+-------------------+ | AK | 0.7 | | AL | 4.8 | | AR | 2.9 | ... +-------+-------------------+ could be turned into a pivot table that aggregates population by time zone by providing a list of groups (for example, groupName = 'Central', items = ['AL', 'AR', 'IA', ...]) to a manual group rule. Note that a similar effect could be achieved by adding a time zone column to the source data and adjusting the pivot table. +-----------+-------------------+ | Time Zone | SUM of Population | +-----------+-------------------+ | Central | 106.3 | | Eastern | 151.9 | | Mountain | 17.4 | ... +-----------+-------------------+ */ + type ManualRule = { + /** The list of group names and the corresponding items from the source data that map to each group name. */ + groups?: Array; + }; + /** A group name and a list of items from the source data that should be placed in the group with this name. */ + type ManualRuleGroup = { + /** The group name, which must be a string. Each group in a given ManualRule must have a unique group name. */ + groupName?: GoogleSheets.ExtendedValue; + /** The items in the source data that should be placed into this group. Each item may be a string, number, or boolean. Items may appear in at most one group within a given ManualRule. Items that do not appear in any group will appear on their own. */ + items?: Array; + }; + /** A developer metadata entry and the data filters specified in the original request that matched it. */ + type MatchedDeveloperMetadata = { + /** All filters matching the returned developer metadata. */ + dataFilters?: Array; + /** The developer metadata matching the specified filters. */ + developerMetadata?: GoogleSheets.DeveloperMetadata; + }; + /** A value range that was matched by one or more data filers. */ + type MatchedValueRange = { + /** The DataFilters from the request that matched the range of values. */ + dataFilters?: Array; + /** The values matched by the DataFilter. */ + valueRange?: GoogleSheets.ValueRange; + }; + /** Merges all cells in the range. */ + type MergeCellsRequest = { + /** How the cells should be merged. */ + mergeType?: "MERGE_ALL" | "MERGE_COLUMNS" | "MERGE_ROWS"; + /** The range of cells to merge. */ + range?: GoogleSheets.GridRange; + }; + /** Moves one or more rows or columns. */ + type MoveDimensionRequest = { + /** The zero-based start index of where to move the source data to, based on the coordinates *before* the source data is removed from the grid. Existing data will be shifted down or right (depending on the dimension) to make room for the moved dimensions. The source dimensions are removed from the grid, so the the data may end up in a different index than specified. For example, given `A1..A5` of `0, 1, 2, 3, 4` and wanting to move `"1"` and `"2"` to between `"3"` and `"4"`, the source would be `ROWS [1..3)`,and the destination index would be `"4"` (the zero-based index of row 5). The end result would be `A1..A5` of `0, 3, 1, 2, 4`. */ + destinationIndex?: number; + /** The source dimensions to move. */ + source?: GoogleSheets.DimensionRange; + }; + /** A named range. */ + type NamedRange = { + /** The name of the named range. */ + name?: string; + /** The ID of the named range. */ + namedRangeId?: string; + /** The range this represents. */ + range?: GoogleSheets.GridRange; + }; + /** The number format of a cell. */ + type NumberFormat = { + /** Pattern string used for formatting. If not set, a default pattern based on the spreadsheet's locale will be used if necessary for the given type. See the [Date and Number Formats guide](https://developers.google.com/workspace/sheets/api/guides/formats) for more information about the supported patterns. */ + pattern?: string; + /** The type of the number format. When writing, this field must be set. */ + type?: "NUMBER_FORMAT_TYPE_UNSPECIFIED" | "TEXT" | "NUMBER" | "PERCENT" | "CURRENCY" | "DATE" | "TIME" | "DATE_TIME" | "SCIENTIFIC"; + }; + /** An org chart. Org charts require a unique set of labels in labels and may optionally include parent_labels and tooltips. parent_labels contain, for each node, the label identifying the parent node. tooltips contain, for each node, an optional tooltip. For example, to describe an OrgChart with Alice as the CEO, Bob as the President (reporting to Alice) and Cathy as VP of Sales (also reporting to Alice), have labels contain "Alice", "Bob", "Cathy", parent_labels contain "", "Alice", "Alice" and tooltips contain "CEO", "President", "VP Sales". */ + type OrgChartSpec = { + /** The data containing the labels for all the nodes in the chart. Labels must be unique. */ + labels?: GoogleSheets.ChartData; + /** The color of the org chart nodes. Deprecated: Use node_color_style. */ + nodeColor?: GoogleSheets.Color; + /** The color of the org chart nodes. If node_color is also set, this field takes precedence. */ + nodeColorStyle?: GoogleSheets.ColorStyle; + /** The size of the org chart nodes. */ + nodeSize?: "ORG_CHART_LABEL_SIZE_UNSPECIFIED" | "SMALL" | "MEDIUM" | "LARGE"; + /** The data containing the label of the parent for the corresponding node. A blank value indicates that the node has no parent and is a top-level node. This field is optional. */ + parentLabels?: GoogleSheets.ChartData; + /** The color of the selected org chart nodes. Deprecated: Use selected_node_color_style. */ + selectedNodeColor?: GoogleSheets.Color; + /** The color of the selected org chart nodes. If selected_node_color is also set, this field takes precedence. */ + selectedNodeColorStyle?: GoogleSheets.ColorStyle; + /** The data containing the tooltip for the corresponding node. A blank value results in no tooltip being displayed for the node. This field is optional. */ + tooltips?: GoogleSheets.ChartData; + }; + /** The location an object is overlaid on top of a grid. */ + type OverlayPosition = { + /** The cell the object is anchored to. */ + anchorCell?: GoogleSheets.GridCoordinate; + /** The height of the object, in pixels. Defaults to 371. */ + heightPixels?: number; + /** The horizontal offset, in pixels, that the object is offset from the anchor cell. */ + offsetXPixels?: number; + /** The vertical offset, in pixels, that the object is offset from the anchor cell. */ + offsetYPixels?: number; + /** The width of the object, in pixels. Defaults to 600. */ + widthPixels?: number; + }; + /** The amount of padding around the cell, in pixels. When updating padding, every field must be specified. */ + type Padding = { + /** The bottom padding of the cell. */ + bottom?: number; + /** The left padding of the cell. */ + left?: number; + /** The right padding of the cell. */ + right?: number; + /** The top padding of the cell. */ + top?: number; + }; + /** Inserts data into the spreadsheet starting at the specified coordinate. */ + type PasteDataRequest = { + /** The coordinate at which the data should start being inserted. */ + coordinate?: GoogleSheets.GridCoordinate; + /** The data to insert. */ + data?: string; + /** The delimiter in the data. */ + delimiter?: string; + /** True if the data is HTML. */ + html?: boolean; + /** How the data should be pasted. */ + type?: "PASTE_NORMAL" | "PASTE_VALUES" | "PASTE_FORMAT" | "PASTE_NO_BORDERS" | "PASTE_FORMULA" | "PASTE_DATA_VALIDATION" | "PASTE_CONDITIONAL_FORMATTING"; + }; + /** Properties specific to a linked person. */ + type PersonProperties = { + /** Optional. The display format of the person chip. If not set, the default display format is used. */ + displayFormat?: "DISPLAY_FORMAT_UNSPECIFIED" | "DEFAULT" | "LAST_NAME_COMMA_FIRST_NAME" | "EMAIL"; + /** Required. The email address linked to this person. This field is always present. */ + email?: string; + }; + /** A pie chart. */ + type PieChartSpec = { + /** The data that covers the domain of the pie chart. */ + domain?: GoogleSheets.ChartData; + /** Where the legend of the pie chart should be drawn. */ + legendPosition?: "PIE_CHART_LEGEND_POSITION_UNSPECIFIED" | "BOTTOM_LEGEND" | "LEFT_LEGEND" | "RIGHT_LEGEND" | "TOP_LEGEND" | "NO_LEGEND" | "LABELED_LEGEND"; + /** The size of the hole in the pie chart. */ + pieHole?: number; + /** The data that covers the one and only series of the pie chart. */ + series?: GoogleSheets.ChartData; + /** True if the pie is three dimensional. */ + threeDimensional?: boolean; + }; + /** Criteria for showing/hiding rows in a pivot table. */ + type PivotFilterCriteria = { + /** A condition that must be true for values to be shown. (`visibleValues` does not override this -- even if a value is listed there, it is still hidden if it does not meet the condition.) Condition values that refer to ranges in A1-notation are evaluated relative to the pivot table sheet. References are treated absolutely, so are not filled down the pivot table. For example, a condition value of `=A1` on "Pivot Table 1" is treated as `'Pivot Table 1'!$A$1`. The source data of the pivot table can be referenced by column header name. For example, if the source data has columns named "Revenue" and "Cost" and a condition is applied to the "Revenue" column with type `NUMBER_GREATER` and value `=Cost`, then only columns where "Revenue" > "Cost" are included. */ + condition?: GoogleSheets.BooleanCondition; + /** Whether values are visible by default. If true, the visible_values are ignored, all values that meet condition (if specified) are shown. If false, values that are both in visible_values and meet condition are shown. */ + visibleByDefault?: boolean; + /** Values that should be included. Values not listed here are excluded. */ + visibleValues?: Array; + }; + /** The pivot table filter criteria associated with a specific source column offset. */ + type PivotFilterSpec = { + /** The zero-based column offset of the source range. */ + columnOffsetIndex?: number; + /** The reference to the data source column. */ + dataSourceColumnReference?: GoogleSheets.DataSourceColumnReference; + /** The criteria for the column. */ + filterCriteria?: GoogleSheets.PivotFilterCriteria; + }; + /** A single grouping (either row or column) in a pivot table. */ + type PivotGroup = { + /** The reference to the data source column this grouping is based on. */ + dataSourceColumnReference?: GoogleSheets.DataSourceColumnReference; + /** The count limit on rows or columns to apply to this pivot group. */ + groupLimit?: GoogleSheets.PivotGroupLimit; + /** The group rule to apply to this row/column group. */ + groupRule?: GoogleSheets.PivotGroupRule; + /** The labels to use for the row/column groups which can be customized. For example, in the following pivot table, the row label is `Region` (which could be renamed to `State`) and the column label is `Product` (which could be renamed `Item`). Pivot tables created before December 2017 do not have header labels. If you'd like to add header labels to an existing pivot table, please delete the existing pivot table and then create a new pivot table with same parameters. +--------------+---------+-------+ | SUM of Units | Product | | | Region | Pen | Paper | +--------------+---------+-------+ | New York | 345 | 98 | | Oregon | 234 | 123 | | Tennessee | 531 | 415 | +--------------+---------+-------+ | Grand Total | 1110 | 636 | +--------------+---------+-------+ */ + label?: string; + /** True if the headings in this pivot group should be repeated. This is only valid for row groupings and is ignored by columns. By default, we minimize repetition of headings by not showing higher level headings where they are the same. For example, even though the third row below corresponds to "Q1 Mar", "Q1" is not shown because it is redundant with previous rows. Setting repeat_headings to true would cause "Q1" to be repeated for "Feb" and "Mar". +--------------+ | Q1 | Jan | | | Feb | | | Mar | +--------+-----+ | Q1 Total | +--------------+ */ + repeatHeadings?: boolean; + /** True if the pivot table should include the totals for this grouping. */ + showTotals?: boolean; + /** The order the values in this group should be sorted. */ + sortOrder?: "SORT_ORDER_UNSPECIFIED" | "ASCENDING" | "DESCENDING"; + /** The column offset of the source range that this grouping is based on. For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0` means this group refers to column `C`, whereas the offset `1` would refer to column `D`. */ + sourceColumnOffset?: number; + /** The bucket of the opposite pivot group to sort by. If not specified, sorting is alphabetical by this group's values. */ + valueBucket?: GoogleSheets.PivotGroupSortValueBucket; + /** Metadata about values in the grouping. */ + valueMetadata?: Array; + }; + /** The count limit on rows or columns in the pivot group. */ + type PivotGroupLimit = { + /** The order in which the group limit is applied to the pivot table. Pivot group limits are applied from lower to higher order number. Order numbers are normalized to consecutive integers from 0. For write request, to fully customize the applying orders, all pivot group limits should have this field set with an unique number. Otherwise, the order is determined by the index in the PivotTable.rows list and then the PivotTable.columns list. */ + applyOrder?: number; + /** The count limit. */ + countLimit?: number; + }; + /** An optional setting on a PivotGroup that defines buckets for the values in the source data column rather than breaking out each individual value. Only one PivotGroup with a group rule may be added for each column in the source data, though on any given column you may add both a PivotGroup that has a rule and a PivotGroup that does not. */ + type PivotGroupRule = { + /** A DateTimeRule. */ + dateTimeRule?: GoogleSheets.DateTimeRule; + /** A HistogramRule. */ + histogramRule?: GoogleSheets.HistogramRule; + /** A ManualRule. */ + manualRule?: GoogleSheets.ManualRule; + }; + /** Information about which values in a pivot group should be used for sorting. */ + type PivotGroupSortValueBucket = { + /** Determines the bucket from which values are chosen to sort. For example, in a pivot table with one row group & two column groups, the row group can list up to two values. The first value corresponds to a value within the first column group, and the second value corresponds to a value in the second column group. If no values are listed, this would indicate that the row should be sorted according to the "Grand Total" over the column groups. If a single value is listed, this would correspond to using the "Total" of that bucket. */ + buckets?: Array; + /** The offset in the PivotTable.values list which the values in this grouping should be sorted by. */ + valuesIndex?: number; + }; + /** Metadata about a value in a pivot grouping. */ + type PivotGroupValueMetadata = { + /** True if the data corresponding to the value is collapsed. */ + collapsed?: boolean; + /** The calculated value the metadata corresponds to. (Note that formulaValue is not valid, because the values will be calculated.) */ + value?: GoogleSheets.ExtendedValue; + }; + /** A pivot table. */ + type PivotTable = { + /** Each column grouping in the pivot table. */ + columns?: Array; + /** An optional mapping of filters per source column offset. The filters are applied before aggregating data into the pivot table. The map's key is the column offset of the source range that you want to filter, and the value is the criteria for that column. For example, if the source was `C10:E15`, a key of `0` will have the filter for column `C`, whereas the key `1` is for column `D`. This field is deprecated in favor of filter_specs. */ + criteria?: Record; + /** Output only. The data execution status for data source pivot tables. */ + dataExecutionStatus?: GoogleSheets.DataExecutionStatus; + /** The ID of the data source the pivot table is reading data from. */ + dataSourceId?: string; + /** The filters applied to the source columns before aggregating data for the pivot table. Both criteria and filter_specs are populated in responses. If both fields are specified in an update request, this field takes precedence. */ + filterSpecs?: Array; + /** Each row grouping in the pivot table. */ + rows?: Array; + /** The range the pivot table is reading data from. */ + source?: GoogleSheets.GridRange; + /** Whether values should be listed horizontally (as columns) or vertically (as rows). */ + valueLayout?: "HORIZONTAL" | "VERTICAL"; + /** A list of values to include in the pivot table. */ + values?: Array; + }; + /** The definition of how a value in a pivot table should be calculated. */ + type PivotValue = { + /** If specified, indicates that pivot values should be displayed as the result of a calculation with another pivot value. For example, if calculated_display_type is specified as PERCENT_OF_GRAND_TOTAL, all the pivot values are displayed as the percentage of the grand total. In the Sheets editor, this is referred to as "Show As" in the value section of a pivot table. */ + calculatedDisplayType?: "PIVOT_VALUE_CALCULATED_DISPLAY_TYPE_UNSPECIFIED" | "PERCENT_OF_ROW_TOTAL" | "PERCENT_OF_COLUMN_TOTAL" | "PERCENT_OF_GRAND_TOTAL"; + /** The reference to the data source column that this value reads from. */ + dataSourceColumnReference?: GoogleSheets.DataSourceColumnReference; + /** A custom formula to calculate the value. The formula must start with an `=` character. */ + formula?: string; + /** A name to use for the value. */ + name?: string; + /** The column offset of the source range that this value reads from. For example, if the source was `C10:E15`, a `sourceColumnOffset` of `0` means this value refers to column `C`, whereas the offset `1` would refer to column `D`. */ + sourceColumnOffset?: number; + /** A function to summarize the value. If formula is set, the only supported values are SUM and CUSTOM. If sourceColumnOffset is set, then `CUSTOM` is not supported. */ + summarizeFunction?: "PIVOT_STANDARD_VALUE_FUNCTION_UNSPECIFIED" | "SUM" | "COUNTA" | "COUNT" | "COUNTUNIQUE" | "AVERAGE" | "MAX" | "MIN" | "MEDIAN" | "PRODUCT" | "STDEV" | "STDEVP" | "VAR" | "VARP" | "CUSTOM" | "NONE"; + }; + /** The style of a point on the chart. */ + type PointStyle = { + /** The point shape. If empty or unspecified, a default shape is used. */ + shape?: "POINT_SHAPE_UNSPECIFIED" | "CIRCLE" | "DIAMOND" | "HEXAGON" | "PENTAGON" | "SQUARE" | "STAR" | "TRIANGLE" | "X_MARK"; + /** The point size. If empty, a default size is used. */ + size?: number; + }; + /** A protected range. */ + type ProtectedRange = { + /** The description of this protected range. */ + description?: string; + /** The users and groups with edit access to the protected range. This field is only visible to users with edit access to the protected range and the document. Editors are not supported with warning_only protection. */ + editors?: GoogleSheets.Editors; + /** The named range this protected range is backed by, if any. When writing, only one of range or named_range_id or table_id may be set. */ + namedRangeId?: string; + /** The ID of the protected range. This field is read-only. */ + protectedRangeId?: number; + /** The range that is being protected. The range may be fully unbounded, in which case this is considered a protected sheet. When writing, only one of range or named_range_id or table_id may be set. */ + range?: GoogleSheets.GridRange; + /** True if the user who requested this protected range can edit the protected area. This field is read-only. */ + requestingUserCanEdit?: boolean; + /** The table this protected range is backed by, if any. When writing, only one of range or named_range_id or table_id may be set. */ + tableId?: string; + /** The list of unprotected ranges within a protected sheet. Unprotected ranges are only supported on protected sheets. */ + unprotectedRanges?: Array; + /** True if this protected range will show a warning when editing. Warning-based protection means that every user can edit data in the protected range, except editing will prompt a warning asking the user to confirm the edit. When writing: if this field is true, then editors are ignored. Additionally, if this field is changed from true to false and the `editors` field is not set (nor included in the field mask), then the editors will be set to all the editors in the document. */ + warningOnly?: boolean; + }; + /** Randomizes the order of the rows in a range. */ + type RandomizeRangeRequest = { + /** The range to randomize. */ + range?: GoogleSheets.GridRange; + }; + /** The status of a refresh cancellation. You can send a cancel request to explicitly cancel one or multiple data source object refreshes. */ + type RefreshCancellationStatus = { + /** The error code. */ + errorCode?: "REFRESH_CANCELLATION_ERROR_CODE_UNSPECIFIED" | "EXECUTION_NOT_FOUND" | "CANCEL_PERMISSION_DENIED" | "QUERY_EXECUTION_COMPLETED" | "CONCURRENT_CANCELLATION" | "CANCEL_OTHER_ERROR"; + /** The state of a call to cancel a refresh in Sheets. */ + state?: "REFRESH_CANCELLATION_STATE_UNSPECIFIED" | "CANCEL_SUCCEEDED" | "CANCEL_FAILED"; + }; + /** The execution status of refreshing one data source object. */ + type RefreshDataSourceObjectExecutionStatus = { + /** The data execution status. */ + dataExecutionStatus?: GoogleSheets.DataExecutionStatus; + /** Reference to a data source object being refreshed. */ + reference?: GoogleSheets.DataSourceObjectReference; + }; + /** Refreshes one or multiple data source objects in the spreadsheet by the specified references. The request requires an additional `bigquery.readonly` OAuth scope if you are refreshing a BigQuery data source. If there are multiple refresh requests referencing the same data source objects in one batch, only the last refresh request is processed, and all those requests will have the same response accordingly. */ + type RefreshDataSourceRequest = { + /** Reference to a DataSource. If specified, refreshes all associated data source objects for the data source. */ + dataSourceId?: string; + /** Refreshes the data source objects regardless of the current state. If not set and a referenced data source object was in error state, the refresh will fail immediately. */ + force?: boolean; + /** Refreshes all existing data source objects in the spreadsheet. */ + isAll?: boolean; + /** References to data source objects to refresh. */ + references?: GoogleSheets.DataSourceObjectReferences; + }; + /** The response from refreshing one or multiple data source objects. */ + type RefreshDataSourceResponse = { + /** All the refresh status for the data source object references specified in the request. If is_all is specified, the field contains only those in failure status. */ + statuses?: Array; + }; + /** Updates all cells in the range to the values in the given Cell object. Only the fields listed in the fields field are updated; others are unchanged. If writing a cell with a formula, the formula's ranges will automatically increment for each field in the range. For example, if writing a cell with formula `=A1` into range B2:C4, B2 would be `=A1`, B3 would be `=A2`, B4 would be `=A3`, C2 would be `=B1`, C3 would be `=B2`, C4 would be `=B3`. To keep the formula's ranges static, use the `$` indicator. For example, use the formula `=$A$1` to prevent both the row and the column from incrementing. */ + type RepeatCellRequest = { + /** The data to write. */ + cell?: GoogleSheets.CellData; + /** The fields that should be updated. At least one field must be specified. The root `cell` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + /** The range to repeat the cell in. */ + range?: GoogleSheets.GridRange; + }; + /** A single kind of update to apply to a spreadsheet. */ + type Request = { + /** Adds a new banded range */ + addBanding?: GoogleSheets.AddBandingRequest; + /** Adds a chart. */ + addChart?: GoogleSheets.AddChartRequest; + /** Adds a new conditional format rule. */ + addConditionalFormatRule?: GoogleSheets.AddConditionalFormatRuleRequest; + /** Adds a data source. */ + addDataSource?: GoogleSheets.AddDataSourceRequest; + /** Creates a group over the specified range. */ + addDimensionGroup?: GoogleSheets.AddDimensionGroupRequest; + /** Adds a filter view. */ + addFilterView?: GoogleSheets.AddFilterViewRequest; + /** Adds a named range. */ + addNamedRange?: GoogleSheets.AddNamedRangeRequest; + /** Adds a protected range. */ + addProtectedRange?: GoogleSheets.AddProtectedRangeRequest; + /** Adds a sheet. */ + addSheet?: GoogleSheets.AddSheetRequest; + /** Adds a slicer. */ + addSlicer?: GoogleSheets.AddSlicerRequest; + /** Adds a table. */ + addTable?: GoogleSheets.AddTableRequest; + /** Appends cells after the last row with data in a sheet. */ + appendCells?: GoogleSheets.AppendCellsRequest; + /** Appends dimensions to the end of a sheet. */ + appendDimension?: GoogleSheets.AppendDimensionRequest; + /** Automatically fills in more data based on existing data. */ + autoFill?: GoogleSheets.AutoFillRequest; + /** Automatically resizes one or more dimensions based on the contents of the cells in that dimension. */ + autoResizeDimensions?: GoogleSheets.AutoResizeDimensionsRequest; + /** Cancels refreshes of one or multiple data sources and associated dbobjects. */ + cancelDataSourceRefresh?: GoogleSheets.CancelDataSourceRefreshRequest; + /** Clears the basic filter on a sheet. */ + clearBasicFilter?: GoogleSheets.ClearBasicFilterRequest; + /** Copies data from one area and pastes it to another. */ + copyPaste?: GoogleSheets.CopyPasteRequest; + /** Creates new developer metadata */ + createDeveloperMetadata?: GoogleSheets.CreateDeveloperMetadataRequest; + /** Cuts data from one area and pastes it to another. */ + cutPaste?: GoogleSheets.CutPasteRequest; + /** Removes a banded range */ + deleteBanding?: GoogleSheets.DeleteBandingRequest; + /** Deletes an existing conditional format rule. */ + deleteConditionalFormatRule?: GoogleSheets.DeleteConditionalFormatRuleRequest; + /** Deletes a data source. */ + deleteDataSource?: GoogleSheets.DeleteDataSourceRequest; + /** Deletes developer metadata */ + deleteDeveloperMetadata?: GoogleSheets.DeleteDeveloperMetadataRequest; + /** Deletes rows or columns in a sheet. */ + deleteDimension?: GoogleSheets.DeleteDimensionRequest; + /** Deletes a group over the specified range. */ + deleteDimensionGroup?: GoogleSheets.DeleteDimensionGroupRequest; + /** Removes rows containing duplicate values in specified columns of a cell range. */ + deleteDuplicates?: GoogleSheets.DeleteDuplicatesRequest; + /** Deletes an embedded object (e.g, chart, image) in a sheet. */ + deleteEmbeddedObject?: GoogleSheets.DeleteEmbeddedObjectRequest; + /** Deletes a filter view from a sheet. */ + deleteFilterView?: GoogleSheets.DeleteFilterViewRequest; + /** Deletes a named range. */ + deleteNamedRange?: GoogleSheets.DeleteNamedRangeRequest; + /** Deletes a protected range. */ + deleteProtectedRange?: GoogleSheets.DeleteProtectedRangeRequest; + /** Deletes a range of cells from a sheet, shifting the remaining cells. */ + deleteRange?: GoogleSheets.DeleteRangeRequest; + /** Deletes a sheet. */ + deleteSheet?: GoogleSheets.DeleteSheetRequest; + /** A request for deleting a table. */ + deleteTable?: GoogleSheets.DeleteTableRequest; + /** Duplicates a filter view. */ + duplicateFilterView?: GoogleSheets.DuplicateFilterViewRequest; + /** Duplicates a sheet. */ + duplicateSheet?: GoogleSheets.DuplicateSheetRequest; + /** Finds and replaces occurrences of some text with other text. */ + findReplace?: GoogleSheets.FindReplaceRequest; + /** Inserts new rows or columns in a sheet. */ + insertDimension?: GoogleSheets.InsertDimensionRequest; + /** Inserts new cells in a sheet, shifting the existing cells. */ + insertRange?: GoogleSheets.InsertRangeRequest; + /** Merges cells together. */ + mergeCells?: GoogleSheets.MergeCellsRequest; + /** Moves rows or columns to another location in a sheet. */ + moveDimension?: GoogleSheets.MoveDimensionRequest; + /** Pastes data (HTML or delimited) into a sheet. */ + pasteData?: GoogleSheets.PasteDataRequest; + /** Randomizes the order of the rows in a range. */ + randomizeRange?: GoogleSheets.RandomizeRangeRequest; + /** Refreshes one or multiple data sources and associated dbobjects. */ + refreshDataSource?: GoogleSheets.RefreshDataSourceRequest; + /** Repeats a single cell across a range. */ + repeatCell?: GoogleSheets.RepeatCellRequest; + /** Sets the basic filter on a sheet. */ + setBasicFilter?: GoogleSheets.SetBasicFilterRequest; + /** Sets data validation for one or more cells. */ + setDataValidation?: GoogleSheets.SetDataValidationRequest; + /** Sorts data in a range. */ + sortRange?: GoogleSheets.SortRangeRequest; + /** Converts a column of text into many columns of text. */ + textToColumns?: GoogleSheets.TextToColumnsRequest; + /** Trims cells of whitespace (such as spaces, tabs, or new lines). */ + trimWhitespace?: GoogleSheets.TrimWhitespaceRequest; + /** Unmerges merged cells. */ + unmergeCells?: GoogleSheets.UnmergeCellsRequest; + /** Updates a banded range */ + updateBanding?: GoogleSheets.UpdateBandingRequest; + /** Updates the borders in a range of cells. */ + updateBorders?: GoogleSheets.UpdateBordersRequest; + /** Updates many cells at once. */ + updateCells?: GoogleSheets.UpdateCellsRequest; + /** Updates a chart's specifications. */ + updateChartSpec?: GoogleSheets.UpdateChartSpecRequest; + /** Updates an existing conditional format rule. */ + updateConditionalFormatRule?: GoogleSheets.UpdateConditionalFormatRuleRequest; + /** Updates a data source. */ + updateDataSource?: GoogleSheets.UpdateDataSourceRequest; + /** Updates an existing developer metadata entry */ + updateDeveloperMetadata?: GoogleSheets.UpdateDeveloperMetadataRequest; + /** Updates the state of the specified group. */ + updateDimensionGroup?: GoogleSheets.UpdateDimensionGroupRequest; + /** Updates dimensions' properties. */ + updateDimensionProperties?: GoogleSheets.UpdateDimensionPropertiesRequest; + /** Updates an embedded object's border. */ + updateEmbeddedObjectBorder?: GoogleSheets.UpdateEmbeddedObjectBorderRequest; + /** Updates an embedded object's (e.g. chart, image) position. */ + updateEmbeddedObjectPosition?: GoogleSheets.UpdateEmbeddedObjectPositionRequest; + /** Updates the properties of a filter view. */ + updateFilterView?: GoogleSheets.UpdateFilterViewRequest; + /** Updates a named range. */ + updateNamedRange?: GoogleSheets.UpdateNamedRangeRequest; + /** Updates a protected range. */ + updateProtectedRange?: GoogleSheets.UpdateProtectedRangeRequest; + /** Updates a sheet's properties. */ + updateSheetProperties?: GoogleSheets.UpdateSheetPropertiesRequest; + /** Updates a slicer's specifications. */ + updateSlicerSpec?: GoogleSheets.UpdateSlicerSpecRequest; + /** Updates the spreadsheet's properties. */ + updateSpreadsheetProperties?: GoogleSheets.UpdateSpreadsheetPropertiesRequest; + /** Updates a table. */ + updateTable?: GoogleSheets.UpdateTableRequest; + }; + /** A single response from an update. */ + type Response = { + /** A reply from adding a banded range. */ + addBanding?: GoogleSheets.AddBandingResponse; + /** A reply from adding a chart. */ + addChart?: GoogleSheets.AddChartResponse; + /** A reply from adding a data source. */ + addDataSource?: GoogleSheets.AddDataSourceResponse; + /** A reply from adding a dimension group. */ + addDimensionGroup?: GoogleSheets.AddDimensionGroupResponse; + /** A reply from adding a filter view. */ + addFilterView?: GoogleSheets.AddFilterViewResponse; + /** A reply from adding a named range. */ + addNamedRange?: GoogleSheets.AddNamedRangeResponse; + /** A reply from adding a protected range. */ + addProtectedRange?: GoogleSheets.AddProtectedRangeResponse; + /** A reply from adding a sheet. */ + addSheet?: GoogleSheets.AddSheetResponse; + /** A reply from adding a slicer. */ + addSlicer?: GoogleSheets.AddSlicerResponse; + /** A reply from adding a table. */ + addTable?: GoogleSheets.AddTableResponse; + /** A reply from cancelling data source object refreshes. */ + cancelDataSourceRefresh?: GoogleSheets.CancelDataSourceRefreshResponse; + /** A reply from creating a developer metadata entry. */ + createDeveloperMetadata?: GoogleSheets.CreateDeveloperMetadataResponse; + /** A reply from deleting a conditional format rule. */ + deleteConditionalFormatRule?: GoogleSheets.DeleteConditionalFormatRuleResponse; + /** A reply from deleting a developer metadata entry. */ + deleteDeveloperMetadata?: GoogleSheets.DeleteDeveloperMetadataResponse; + /** A reply from deleting a dimension group. */ + deleteDimensionGroup?: GoogleSheets.DeleteDimensionGroupResponse; + /** A reply from removing rows containing duplicate values. */ + deleteDuplicates?: GoogleSheets.DeleteDuplicatesResponse; + /** A reply from duplicating a filter view. */ + duplicateFilterView?: GoogleSheets.DuplicateFilterViewResponse; + /** A reply from duplicating a sheet. */ + duplicateSheet?: GoogleSheets.DuplicateSheetResponse; + /** A reply from doing a find/replace. */ + findReplace?: GoogleSheets.FindReplaceResponse; + /** A reply from refreshing data source objects. */ + refreshDataSource?: GoogleSheets.RefreshDataSourceResponse; + /** A reply from trimming whitespace. */ + trimWhitespace?: GoogleSheets.TrimWhitespaceResponse; + /** A reply from updating a conditional format rule. */ + updateConditionalFormatRule?: GoogleSheets.UpdateConditionalFormatRuleResponse; + /** A reply from updating a data source. */ + updateDataSource?: GoogleSheets.UpdateDataSourceResponse; + /** A reply from updating a developer metadata entry. */ + updateDeveloperMetadata?: GoogleSheets.UpdateDeveloperMetadataResponse; + /** A reply from updating an embedded object's position. */ + updateEmbeddedObjectPosition?: GoogleSheets.UpdateEmbeddedObjectPositionResponse; + }; + /** Properties of a link to a Google resource (such as a file in Drive, a YouTube video, a Maps address, or a Calendar event). Only Drive files can be written as chips. All other rich link types are read only. URIs cannot exceed 2000 bytes when writing. NOTE: Writing Drive file chips requires at least one of the `drive.file`, `drive.readonly`, or `drive` OAuth scopes. */ + type RichLinkProperties = { + /** Output only. The [MIME type](https://developers.google.com/drive/api/v3/mime-types) of the link, if there's one (for example, when it's a file in Drive). */ + mimeType?: string; + /** Required. The URI to the link. This is always present. */ + uri?: string; + }; + /** Data about each cell in a row. */ + type RowData = { + /** The values in the row, one per column. */ + values?: Array; + }; + /** A scorecard chart. Scorecard charts are used to highlight key performance indicators, known as KPIs, on the spreadsheet. A scorecard chart can represent things like total sales, average cost, or a top selling item. You can specify a single data value, or aggregate over a range of data. Percentage or absolute difference from a baseline value can be highlighted, like changes over time. */ + type ScorecardChartSpec = { + /** The aggregation type for key and baseline chart data in scorecard chart. This field is not supported for data source charts. Use the ChartData.aggregateType field of the key_value_data or baseline_value_data instead for data source charts. This field is optional. */ + aggregateType?: "CHART_AGGREGATE_TYPE_UNSPECIFIED" | "AVERAGE" | "COUNT" | "MAX" | "MEDIAN" | "MIN" | "SUM"; + /** The data for scorecard baseline value. This field is optional. */ + baselineValueData?: GoogleSheets.ChartData; + /** Formatting options for baseline value. This field is needed only if baseline_value_data is specified. */ + baselineValueFormat?: GoogleSheets.BaselineValueFormat; + /** Custom formatting options for numeric key/baseline values in scorecard chart. This field is used only when number_format_source is set to CUSTOM. This field is optional. */ + customFormatOptions?: GoogleSheets.ChartCustomNumberFormatOptions; + /** The data for scorecard key value. */ + keyValueData?: GoogleSheets.ChartData; + /** Formatting options for key value. */ + keyValueFormat?: GoogleSheets.KeyValueFormat; + /** The number format source used in the scorecard chart. This field is optional. */ + numberFormatSource?: "CHART_NUMBER_FORMAT_SOURCE_UNDEFINED" | "FROM_DATA" | "CUSTOM"; + /** Value to scale scorecard key and baseline value. For example, a factor of 10 can be used to divide all values in the chart by 10. This field is optional. */ + scaleFactor?: number; + }; + /** A request to retrieve all developer metadata matching the set of specified criteria. */ + type SearchDeveloperMetadataRequest = { + /** The data filters describing the criteria used to determine which DeveloperMetadata entries to return. DeveloperMetadata matching any of the specified filters are included in the response. */ + dataFilters?: Array; + }; + /** A reply to a developer metadata search request. */ + type SearchDeveloperMetadataResponse = { + /** The metadata matching the criteria of the search request. */ + matchedDeveloperMetadata?: Array; + }; + /** Sets the basic filter associated with a sheet. */ + type SetBasicFilterRequest = { + /** The filter to set. */ + filter?: GoogleSheets.BasicFilter; + }; + /** Sets a data validation rule to every cell in the range. To clear validation in a range, call this with no rule specified. */ + type SetDataValidationRequest = { + /** Optional. If true, the data validation rule will be applied to the filtered rows as well. */ + filteredRowsIncluded?: boolean; + /** The range the data validation rule should apply to. */ + range?: GoogleSheets.GridRange; + /** The data validation rule to set on each cell in the range, or empty to clear the data validation in the range. */ + rule?: GoogleSheets.DataValidationRule; + }; + /** A sheet in a spreadsheet. */ + type Sheet = { + /** The banded (alternating colors) ranges on this sheet. */ + bandedRanges?: Array; + /** The filter on this sheet, if any. */ + basicFilter?: GoogleSheets.BasicFilter; + /** The specifications of every chart on this sheet. */ + charts?: Array; + /** All column groups on this sheet, ordered by increasing range start index, then by group depth. */ + columnGroups?: Array; + /** The conditional format rules in this sheet. */ + conditionalFormats?: Array; + /** Data in the grid, if this is a grid sheet. The number of GridData objects returned is dependent on the number of ranges requested on this sheet. For example, if this is representing `Sheet1`, and the spreadsheet was requested with ranges `Sheet1!A1:C10` and `Sheet1!D15:E20`, then the first GridData will have a startRow/startColumn of `0`, while the second one will have `startRow 14` (zero-based row 15), and `startColumn 3` (zero-based column D). For a DATA_SOURCE sheet, you can not request a specific range, the GridData contains all the values. */ + data?: Array; + /** The developer metadata associated with a sheet. */ + developerMetadata?: Array; + /** The filter views in this sheet. */ + filterViews?: Array; + /** The ranges that are merged together. */ + merges?: Array; + /** The properties of the sheet. */ + properties?: GoogleSheets.SheetProperties; + /** The protected ranges in this sheet. */ + protectedRanges?: Array; + /** All row groups on this sheet, ordered by increasing range start index, then by group depth. */ + rowGroups?: Array; + /** The slicers on this sheet. */ + slicers?: Array; + /** The tables on this sheet. */ + tables?: Array; + }; + /** Properties of a sheet. */ + type SheetProperties = { + /** Output only. If present, the field contains DATA_SOURCE sheet specific properties. */ + dataSourceSheetProperties?: GoogleSheets.DataSourceSheetProperties; + /** Additional properties of the sheet if this sheet is a grid. (If the sheet is an object sheet, containing a chart or image, then this field will be absent.) When writing it is an error to set any grid properties on non-grid sheets. If this sheet is a DATA_SOURCE sheet, this field is output only but contains the properties that reflect how a data source sheet is rendered in the UI, e.g. row_count. */ + gridProperties?: GoogleSheets.GridProperties; + /** True if the sheet is hidden in the UI, false if it's visible. */ + hidden?: boolean; + /** The index of the sheet within the spreadsheet. When adding or updating sheet properties, if this field is excluded then the sheet is added or moved to the end of the sheet list. When updating sheet indices or inserting sheets, movement is considered in "before the move" indexes. For example, if there were three sheets (S1, S2, S3) in order to move S1 ahead of S2 the index would have to be set to 2. A sheet index update request is ignored if the requested index is identical to the sheets current index or if the requested new index is equal to the current sheet index + 1. */ + index?: number; + /** True if the sheet is an RTL sheet instead of an LTR sheet. */ + rightToLeft?: boolean; + /** The ID of the sheet. Must be non-negative. This field cannot be changed once set. */ + sheetId?: number; + /** The type of sheet. Defaults to GRID. This field cannot be changed once set. */ + sheetType?: "SHEET_TYPE_UNSPECIFIED" | "GRID" | "OBJECT" | "DATA_SOURCE"; + /** The color of the tab in the UI. Deprecated: Use tab_color_style. */ + tabColor?: GoogleSheets.Color; + /** The color of the tab in the UI. If tab_color is also set, this field takes precedence. */ + tabColorStyle?: GoogleSheets.ColorStyle; + /** The name of the sheet. */ + title?: string; + }; + /** A slicer in a sheet. */ + type Slicer = { + /** The position of the slicer. Note that slicer can be positioned only on existing sheet. Also, width and height of slicer can be automatically adjusted to keep it within permitted limits. */ + position?: GoogleSheets.EmbeddedObjectPosition; + /** The ID of the slicer. */ + slicerId?: number; + /** The specification of the slicer. */ + spec?: GoogleSheets.SlicerSpec; + }; + /** The specifications of a slicer. */ + type SlicerSpec = { + /** True if the filter should apply to pivot tables. If not set, default to `True`. */ + applyToPivotTables?: boolean; + /** The background color of the slicer. Deprecated: Use background_color_style. */ + backgroundColor?: GoogleSheets.Color; + /** The background color of the slicer. If background_color is also set, this field takes precedence. */ + backgroundColorStyle?: GoogleSheets.ColorStyle; + /** The zero-based column index in the data table on which the filter is applied to. */ + columnIndex?: number; + /** The data range of the slicer. */ + dataRange?: GoogleSheets.GridRange; + /** The filtering criteria of the slicer. */ + filterCriteria?: GoogleSheets.FilterCriteria; + /** The horizontal alignment of title in the slicer. If unspecified, defaults to `LEFT` */ + horizontalAlignment?: "HORIZONTAL_ALIGN_UNSPECIFIED" | "LEFT" | "CENTER" | "RIGHT"; + /** The text format of title in the slicer. The link field is not supported. */ + textFormat?: GoogleSheets.TextFormat; + /** The title of the slicer. */ + title?: string; + }; + /** Sorts data in rows based on a sort order per column. */ + type SortRangeRequest = { + /** The range to sort. */ + range?: GoogleSheets.GridRange; + /** The sort order per column. Later specifications are used when values are equal in the earlier specifications. */ + sortSpecs?: Array; + }; + /** A sort order associated with a specific column or row. */ + type SortSpec = { + /** The background fill color to sort by; cells with this fill color are sorted to the top. Mutually exclusive with foreground_color. Deprecated: Use background_color_style. */ + backgroundColor?: GoogleSheets.Color; + /** The background fill color to sort by; cells with this fill color are sorted to the top. Mutually exclusive with foreground_color, and must be an RGB-type color. If background_color is also set, this field takes precedence. */ + backgroundColorStyle?: GoogleSheets.ColorStyle; + /** Reference to a data source column. */ + dataSourceColumnReference?: GoogleSheets.DataSourceColumnReference; + /** The dimension the sort should be applied to. */ + dimensionIndex?: number; + /** The foreground color to sort by; cells with this foreground color are sorted to the top. Mutually exclusive with background_color. Deprecated: Use foreground_color_style. */ + foregroundColor?: GoogleSheets.Color; + /** The foreground color to sort by; cells with this foreground color are sorted to the top. Mutually exclusive with background_color, and must be an RGB-type color. If foreground_color is also set, this field takes precedence. */ + foregroundColorStyle?: GoogleSheets.ColorStyle; + /** The order data should be sorted. */ + sortOrder?: "SORT_ORDER_UNSPECIFIED" | "ASCENDING" | "DESCENDING"; + }; + /** A combination of a source range and how to extend that source. */ + type SourceAndDestination = { + /** The dimension that data should be filled into. */ + dimension?: "DIMENSION_UNSPECIFIED" | "ROWS" | "COLUMNS"; + /** The number of rows or columns that data should be filled into. Positive numbers expand beyond the last row or last column of the source. Negative numbers expand before the first row or first column of the source. */ + fillLength?: number; + /** The location of the data to use as the source of the autofill. */ + source?: GoogleSheets.GridRange; + }; + /** Resource that represents a spreadsheet. */ + type Spreadsheet = { + /** A list of external data sources connected with the spreadsheet. */ + dataSources?: Array; + /** Output only. A list of data source refresh schedules. */ + dataSourceSchedules?: Array; + /** The developer metadata associated with a spreadsheet. */ + developerMetadata?: Array; + /** The named ranges defined in a spreadsheet. */ + namedRanges?: Array; + /** Overall properties of a spreadsheet. */ + properties?: GoogleSheets.SpreadsheetProperties; + /** The sheets that are part of a spreadsheet. */ + sheets?: Array; + /** The ID of the spreadsheet. This field is read-only. */ + spreadsheetId?: string; + /** The url of the spreadsheet. This field is read-only. */ + spreadsheetUrl?: string; + }; + /** Properties of a spreadsheet. */ + type SpreadsheetProperties = { + /** The amount of time to wait before volatile functions are recalculated. */ + autoRecalc?: "RECALCULATION_INTERVAL_UNSPECIFIED" | "ON_CHANGE" | "MINUTE" | "HOUR"; + /** The default format of all cells in the spreadsheet. CellData.effectiveFormat will not be set if the cell's format is equal to this default format. This field is read-only. */ + defaultFormat?: GoogleSheets.CellFormat; + /** Whether to allow external URL access for image and import functions. Read only when true. When false, you can set to true. This value will be bypassed and always return true if the admin has enabled the [allowlisting feature](https://support.google.com/a?p=url_allowlist). */ + importFunctionsExternalUrlAccessAllowed?: boolean; + /** Determines whether and how circular references are resolved with iterative calculation. Absence of this field means that circular references result in calculation errors. */ + iterativeCalculationSettings?: GoogleSheets.IterativeCalculationSettings; + /** The locale of the spreadsheet in one of the following formats: * an ISO 639-1 language code such as `en` * an ISO 639-2 language code such as `fil`, if no 639-1 code exists * a combination of the ISO language code and country code, such as `en_US` Note: when updating this field, not all locales/languages are supported. */ + locale?: string; + /** Theme applied to the spreadsheet. */ + spreadsheetTheme?: GoogleSheets.SpreadsheetTheme; + /** The time zone of the spreadsheet, in CLDR format such as `America/New_York`. If the time zone isn't recognized, this may be a custom time zone such as `GMT-07:00`. */ + timeZone?: string; + /** The title of the spreadsheet. */ + title?: string; + }; + /** Represents spreadsheet theme */ + type SpreadsheetTheme = { + /** Name of the primary font family. */ + primaryFontFamily?: string; + /** The spreadsheet theme color pairs. To update you must provide all theme color pairs. */ + themeColors?: Array; + }; + /** A table. */ + type Table = { + /** The table column properties. */ + columnProperties?: Array; + /** The table name. This is unique to all tables in the same spreadsheet. */ + name?: string; + /** The table range. */ + range?: GoogleSheets.GridRange; + /** The table rows properties. */ + rowsProperties?: GoogleSheets.TableRowsProperties; + /** The id of the table. */ + tableId?: string; + }; + /** A data validation rule for a column in a table. */ + type TableColumnDataValidationRule = { + /** The condition that data in the cell must match. Valid only if the [BooleanCondition.type] is ONE_OF_LIST. */ + condition?: GoogleSheets.BooleanCondition; + }; + /** The table column. */ + type TableColumnProperties = { + /** The 0-based column index. This index is relative to its position in the table and is not necessarily the same as the column index in the sheet. */ + columnIndex?: number; + /** The column name. */ + columnName?: string; + /** The column type. */ + columnType?: "COLUMN_TYPE_UNSPECIFIED" | "DOUBLE" | "CURRENCY" | "PERCENT" | "DATE" | "TIME" | "DATE_TIME" | "TEXT" | "BOOLEAN" | "DROPDOWN" | "FILES_CHIP" | "PEOPLE_CHIP" | "FINANCE_CHIP" | "PLACE_CHIP" | "RATINGS_CHIP"; + /** The column data validation rule. Only set for dropdown column type. */ + dataValidationRule?: GoogleSheets.TableColumnDataValidationRule; + }; + /** The table row properties. */ + type TableRowsProperties = { + /** The first color that is alternating. If this field is set, the first banded row is filled with the specified color. Otherwise, the first banded row is filled with a default color. */ + firstBandColorStyle?: GoogleSheets.ColorStyle; + /** The color of the last row. If this field is not set a footer is not added, the last row is filled with either first_band_color_style or second_band_color_style, depending on the color of the previous row. If updating an existing table without a footer to have a footer, the range will be expanded by 1 row. If updating an existing table with a footer and removing a footer, the range will be shrunk by 1 row. */ + footerColorStyle?: GoogleSheets.ColorStyle; + /** The color of the header row. If this field is set, the header row is filled with the specified color. Otherwise, the header row is filled with a default color. */ + headerColorStyle?: GoogleSheets.ColorStyle; + /** The second color that is alternating. If this field is set, the second banded row is filled with the specified color. Otherwise, the second banded row is filled with a default color. */ + secondBandColorStyle?: GoogleSheets.ColorStyle; + }; + /** The format of a run of text in a cell. Absent values indicate that the field isn't specified. */ + type TextFormat = { + /** True if the text is bold. */ + bold?: boolean; + /** The font family. */ + fontFamily?: string; + /** The size of the font. */ + fontSize?: number; + /** The foreground color of the text. Deprecated: Use foreground_color_style. */ + foregroundColor?: GoogleSheets.Color; + /** The foreground color of the text. If foreground_color is also set, this field takes precedence. */ + foregroundColorStyle?: GoogleSheets.ColorStyle; + /** True if the text is italicized. */ + italic?: boolean; + /** The link destination of the text, if any. Setting the link field in a TextFormatRun will clear the cell's existing links or a cell-level link set in the same request. When a link is set, the text foreground color will be set to the default link color and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. */ + link?: GoogleSheets.Link; + /** True if the text has a strikethrough. */ + strikethrough?: boolean; + /** True if the text is underlined. */ + underline?: boolean; + }; + /** A run of a text format. The format of this run continues until the start index of the next run. When updating, all fields must be set. */ + type TextFormatRun = { + /** The format of this run. Absent values inherit the cell's format. */ + format?: GoogleSheets.TextFormat; + /** The zero-based character index where this run starts, in UTF-16 code units. */ + startIndex?: number; + }; + /** Position settings for text. */ + type TextPosition = { + /** Horizontal alignment setting for the piece of text. */ + horizontalAlignment?: "HORIZONTAL_ALIGN_UNSPECIFIED" | "LEFT" | "CENTER" | "RIGHT"; + }; + /** The rotation applied to text in a cell. */ + type TextRotation = { + /** The angle between the standard orientation and the desired orientation. Measured in degrees. Valid values are between -90 and 90. Positive angles are angled upwards, negative are angled downwards. Note: For LTR text direction positive angles are in the counterclockwise direction, whereas for RTL they are in the clockwise direction */ + angle?: number; + /** If true, text reads top to bottom, but the orientation of individual characters is unchanged. For example: | V | | e | | r | | t | | i | | c | | a | | l | */ + vertical?: boolean; + }; + /** Splits a column of text into multiple columns, based on a delimiter in each cell. */ + type TextToColumnsRequest = { + /** The delimiter to use. Used only if delimiterType is CUSTOM. */ + delimiter?: string; + /** The delimiter type to use. */ + delimiterType?: "DELIMITER_TYPE_UNSPECIFIED" | "COMMA" | "SEMICOLON" | "PERIOD" | "SPACE" | "CUSTOM" | "AUTODETECT"; + /** The source data range. This must span exactly one column. */ + source?: GoogleSheets.GridRange; + }; + /** A pair mapping a spreadsheet theme color type to the concrete color it represents. */ + type ThemeColorPair = { + /** The concrete color corresponding to the theme color type. */ + color?: GoogleSheets.ColorStyle; + /** The type of the spreadsheet theme color. */ + colorType?: "THEME_COLOR_TYPE_UNSPECIFIED" | "TEXT" | "BACKGROUND" | "ACCENT1" | "ACCENT2" | "ACCENT3" | "ACCENT4" | "ACCENT5" | "ACCENT6" | "LINK"; + }; + /** Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may choose to allow leap seconds. Related types are google.type.Date and `google.protobuf.Timestamp`. */ + type TimeOfDay = { + /** Hours of a day in 24 hour format. Must be greater than or equal to 0 and typically must be less than or equal to 23. An API may choose to allow the value "24:00:00" for scenarios like business closing time. */ + hours?: number; + /** Minutes of an hour. Must be greater than or equal to 0 and less than or equal to 59. */ + minutes?: number; + /** Fractions of seconds, in nanoseconds. Must be greater than or equal to 0 and less than or equal to 999,999,999. */ + nanos?: number; + /** Seconds of a minute. Must be greater than or equal to 0 and typically must be less than or equal to 59. An API may allow the value 60 if it allows leap-seconds. */ + seconds?: number; + }; + /** A color scale for a treemap chart. */ + type TreemapChartColorScale = { + /** The background color for cells with a color value greater than or equal to maxValue. Defaults to #109618 if not specified. Deprecated: Use max_value_color_style. */ + maxValueColor?: GoogleSheets.Color; + /** The background color for cells with a color value greater than or equal to maxValue. Defaults to #109618 if not specified. If max_value_color is also set, this field takes precedence. */ + maxValueColorStyle?: GoogleSheets.ColorStyle; + /** The background color for cells with a color value at the midpoint between minValue and maxValue. Defaults to #efe6dc if not specified. Deprecated: Use mid_value_color_style. */ + midValueColor?: GoogleSheets.Color; + /** The background color for cells with a color value at the midpoint between minValue and maxValue. Defaults to #efe6dc if not specified. If mid_value_color is also set, this field takes precedence. */ + midValueColorStyle?: GoogleSheets.ColorStyle; + /** The background color for cells with a color value less than or equal to minValue. Defaults to #dc3912 if not specified. Deprecated: Use min_value_color_style. */ + minValueColor?: GoogleSheets.Color; + /** The background color for cells with a color value less than or equal to minValue. Defaults to #dc3912 if not specified. If min_value_color is also set, this field takes precedence. */ + minValueColorStyle?: GoogleSheets.ColorStyle; + /** The background color for cells that have no color data associated with them. Defaults to #000000 if not specified. Deprecated: Use no_data_color_style. */ + noDataColor?: GoogleSheets.Color; + /** The background color for cells that have no color data associated with them. Defaults to #000000 if not specified. If no_data_color is also set, this field takes precedence. */ + noDataColorStyle?: GoogleSheets.ColorStyle; + }; + /** A Treemap chart. */ + type TreemapChartSpec = { + /** The data that determines the background color of each treemap data cell. This field is optional. If not specified, size_data is used to determine background colors. If specified, the data is expected to be numeric. color_scale will determine how the values in this data map to data cell background colors. */ + colorData?: GoogleSheets.ChartData; + /** The color scale for data cells in the treemap chart. Data cells are assigned colors based on their color values. These color values come from color_data, or from size_data if color_data is not specified. Cells with color values less than or equal to min_value will have minValueColor as their background color. Cells with color values greater than or equal to max_value will have maxValueColor as their background color. Cells with color values between min_value and max_value will have background colors on a gradient between minValueColor and maxValueColor, the midpoint of the gradient being midValueColor. Cells with missing or non-numeric color values will have noDataColor as their background color. */ + colorScale?: GoogleSheets.TreemapChartColorScale; + /** The background color for header cells. Deprecated: Use header_color_style. */ + headerColor?: GoogleSheets.Color; + /** The background color for header cells. If header_color is also set, this field takes precedence. */ + headerColorStyle?: GoogleSheets.ColorStyle; + /** True to hide tooltips. */ + hideTooltips?: boolean; + /** The number of additional data levels beyond the labeled levels to be shown on the treemap chart. These levels are not interactive and are shown without their labels. Defaults to 0 if not specified. */ + hintedLevels?: number; + /** The data that contains the treemap cell labels. */ + labels?: GoogleSheets.ChartData; + /** The number of data levels to show on the treemap chart. These levels are interactive and are shown with their labels. Defaults to 2 if not specified. */ + levels?: number; + /** The maximum possible data value. Cells with values greater than this will have the same color as cells with this value. If not specified, defaults to the actual maximum value from color_data, or the maximum value from size_data if color_data is not specified. */ + maxValue?: number; + /** The minimum possible data value. Cells with values less than this will have the same color as cells with this value. If not specified, defaults to the actual minimum value from color_data, or the minimum value from size_data if color_data is not specified. */ + minValue?: number; + /** The data the contains the treemap cells' parent labels. */ + parentLabels?: GoogleSheets.ChartData; + /** The data that determines the size of each treemap data cell. This data is expected to be numeric. The cells corresponding to non-numeric or missing data will not be rendered. If color_data is not specified, this data is used to determine data cell background colors as well. */ + sizeData?: GoogleSheets.ChartData; + /** The text format for all labels on the chart. The link field is not supported. */ + textFormat?: GoogleSheets.TextFormat; + }; + /** Trims the whitespace (such as spaces, tabs, or new lines) in every cell in the specified range. This request removes all whitespace from the start and end of each cell's text, and reduces any subsequence of remaining whitespace characters to a single space. If the resulting trimmed text starts with a '+' or '=' character, the text remains as a string value and isn't interpreted as a formula. */ + type TrimWhitespaceRequest = { + /** The range whose cells to trim. */ + range?: GoogleSheets.GridRange; + }; + /** The result of trimming whitespace in cells. */ + type TrimWhitespaceResponse = { + /** The number of cells that were trimmed of whitespace. */ + cellsChangedCount?: number; + }; + /** Unmerges cells in the given range. */ + type UnmergeCellsRequest = { + /** The range within which all cells should be unmerged. If the range spans multiple merges, all will be unmerged. The range must not partially span any merge. */ + range?: GoogleSheets.GridRange; + }; + /** Updates properties of the supplied banded range. */ + type UpdateBandingRequest = { + /** The banded range to update with the new properties. */ + bandedRange?: GoogleSheets.BandedRange; + /** The fields that should be updated. At least one field must be specified. The root `bandedRange` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + }; + /** Updates the borders of a range. If a field is not set in the request, that means the border remains as-is. For example, with two subsequent UpdateBordersRequest: 1. range: A1:A5 `{ top: RED, bottom: WHITE }` 2. range: A1:A5 `{ left: BLUE }` That would result in A1:A5 having a borders of `{ top: RED, bottom: WHITE, left: BLUE }`. If you want to clear a border, explicitly set the style to NONE. */ + type UpdateBordersRequest = { + /** The border to put at the bottom of the range. */ + bottom?: GoogleSheets.Border; + /** The horizontal border to put within the range. */ + innerHorizontal?: GoogleSheets.Border; + /** The vertical border to put within the range. */ + innerVertical?: GoogleSheets.Border; + /** The border to put at the left of the range. */ + left?: GoogleSheets.Border; + /** The range whose borders should be updated. */ + range?: GoogleSheets.GridRange; + /** The border to put at the right of the range. */ + right?: GoogleSheets.Border; + /** The border to put at the top of the range. */ + top?: GoogleSheets.Border; + }; + /** Updates all cells in a range with new data. */ + type UpdateCellsRequest = { + /** The fields of CellData that should be updated. At least one field must be specified. The root is the CellData; 'row.values.' should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + /** The range to write data to. If the data in rows does not cover the entire requested range, the fields matching those set in fields will be cleared. */ + range?: GoogleSheets.GridRange; + /** The data to write. */ + rows?: Array; + /** The coordinate to start writing data at. Any number of rows and columns (including a different number of columns per row) may be written. */ + start?: GoogleSheets.GridCoordinate; + }; + /** Updates a chart's specifications. (This does not move or resize a chart. To move or resize a chart, use UpdateEmbeddedObjectPositionRequest.) */ + type UpdateChartSpecRequest = { + /** The ID of the chart to update. */ + chartId?: number; + /** The specification to apply to the chart. */ + spec?: GoogleSheets.ChartSpec; + }; + /** Updates a conditional format rule at the given index, or moves a conditional format rule to another index. */ + type UpdateConditionalFormatRuleRequest = { + /** The zero-based index of the rule that should be replaced or moved. */ + index?: number; + /** The zero-based new index the rule should end up at. */ + newIndex?: number; + /** The rule that should replace the rule at the given index. */ + rule?: GoogleSheets.ConditionalFormatRule; + /** The sheet of the rule to move. Required if new_index is set, unused otherwise. */ + sheetId?: number; + }; + /** The result of updating a conditional format rule. */ + type UpdateConditionalFormatRuleResponse = { + /** The index of the new rule. */ + newIndex?: number; + /** The new rule that replaced the old rule (if replacing), or the rule that was moved (if moved) */ + newRule?: GoogleSheets.ConditionalFormatRule; + /** The old index of the rule. Not set if a rule was replaced (because it is the same as new_index). */ + oldIndex?: number; + /** The old (deleted) rule. Not set if a rule was moved (because it is the same as new_rule). */ + oldRule?: GoogleSheets.ConditionalFormatRule; + }; + /** Updates a data source. After the data source is updated successfully, an execution is triggered to refresh the associated DATA_SOURCE sheet to read data from the updated data source. The request requires an additional `bigquery.readonly` OAuth scope if you are updating a BigQuery data source. */ + type UpdateDataSourceRequest = { + /** The data source to update. */ + dataSource?: GoogleSheets.DataSource; + /** The fields that should be updated. At least one field must be specified. The root `dataSource` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + }; + /** The response from updating data source. */ + type UpdateDataSourceResponse = { + /** The data execution status. */ + dataExecutionStatus?: GoogleSheets.DataExecutionStatus; + /** The updated data source. */ + dataSource?: GoogleSheets.DataSource; + }; + /** A request to update properties of developer metadata. Updates the properties of the developer metadata selected by the filters to the values provided in the DeveloperMetadata resource. Callers must specify the properties they wish to update in the fields parameter, as well as specify at least one DataFilter matching the metadata they wish to update. */ + type UpdateDeveloperMetadataRequest = { + /** The filters matching the developer metadata entries to update. */ + dataFilters?: Array; + /** The value that all metadata matched by the data filters will be updated to. */ + developerMetadata?: GoogleSheets.DeveloperMetadata; + /** The fields that should be updated. At least one field must be specified. The root `developerMetadata` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + }; + /** The response from updating developer metadata. */ + type UpdateDeveloperMetadataResponse = { + /** The updated developer metadata. */ + developerMetadata?: Array; + }; + /** Updates the state of the specified group. */ + type UpdateDimensionGroupRequest = { + /** The group whose state should be updated. The range and depth of the group should specify a valid group on the sheet, and all other fields updated. */ + dimensionGroup?: GoogleSheets.DimensionGroup; + /** The fields that should be updated. At least one field must be specified. The root `dimensionGroup` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + }; + /** Updates properties of dimensions within the specified range. */ + type UpdateDimensionPropertiesRequest = { + /** The columns on a data source sheet to update. */ + dataSourceSheetRange?: GoogleSheets.DataSourceSheetDimensionRange; + /** The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + /** Properties to update. */ + properties?: GoogleSheets.DimensionProperties; + /** The rows or columns to update. */ + range?: GoogleSheets.DimensionRange; + }; + /** Updates an embedded object's border property. */ + type UpdateEmbeddedObjectBorderRequest = { + /** The border that applies to the embedded object. */ + border?: GoogleSheets.EmbeddedObjectBorder; + /** The fields that should be updated. At least one field must be specified. The root `border` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + /** The ID of the embedded object to update. */ + objectId?: number; + }; + /** Update an embedded object's position (such as a moving or resizing a chart or image). */ + type UpdateEmbeddedObjectPositionRequest = { + /** The fields of OverlayPosition that should be updated when setting a new position. Used only if newPosition.overlayPosition is set, in which case at least one field must be specified. The root `newPosition.overlayPosition` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + /** An explicit position to move the embedded object to. If newPosition.sheetId is set, a new sheet with that ID will be created. If newPosition.newSheet is set to true, a new sheet will be created with an ID that will be chosen for you. */ + newPosition?: GoogleSheets.EmbeddedObjectPosition; + /** The ID of the object to moved. */ + objectId?: number; + }; + /** The result of updating an embedded object's position. */ + type UpdateEmbeddedObjectPositionResponse = { + /** The new position of the embedded object. */ + position?: GoogleSheets.EmbeddedObjectPosition; + }; + /** Updates properties of the filter view. */ + type UpdateFilterViewRequest = { + /** The fields that should be updated. At least one field must be specified. The root `filter` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + /** The new properties of the filter view. */ + filter?: GoogleSheets.FilterView; + }; + /** Updates properties of the named range with the specified namedRangeId. */ + type UpdateNamedRangeRequest = { + /** The fields that should be updated. At least one field must be specified. The root `namedRange` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + /** The named range to update with the new properties. */ + namedRange?: GoogleSheets.NamedRange; + }; + /** Updates an existing protected range with the specified protectedRangeId. */ + type UpdateProtectedRangeRequest = { + /** The fields that should be updated. At least one field must be specified. The root `protectedRange` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + /** The protected range to update with the new properties. */ + protectedRange?: GoogleSheets.ProtectedRange; + }; + /** Updates properties of the sheet with the specified sheetId. */ + type UpdateSheetPropertiesRequest = { + /** The fields that should be updated. At least one field must be specified. The root `properties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + /** The properties to update. */ + properties?: GoogleSheets.SheetProperties; + }; + /** Updates a slicer's specifications. (This does not move or resize a slicer. To move or resize a slicer use UpdateEmbeddedObjectPositionRequest. */ + type UpdateSlicerSpecRequest = { + /** The fields that should be updated. At least one field must be specified. The root `SlicerSpec` is implied and should not be specified. A single "*"` can be used as short-hand for listing every field. */ + fields?: string; + /** The id of the slicer to update. */ + slicerId?: number; + /** The specification to apply to the slicer. */ + spec?: GoogleSheets.SlicerSpec; + }; + /** Updates properties of a spreadsheet. */ + type UpdateSpreadsheetPropertiesRequest = { + /** The fields that should be updated. At least one field must be specified. The root 'properties' is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + /** The properties to update. */ + properties?: GoogleSheets.SpreadsheetProperties; + }; + /** Updates a table in the spreadsheet. */ + type UpdateTableRequest = { + /** Required. The fields that should be updated. At least one field must be specified. The root `table` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. */ + fields?: string; + /** Required. The table to update. */ + table?: GoogleSheets.Table; + }; + /** The response when updating a range of values by a data filter in a spreadsheet. */ + type UpdateValuesByDataFilterResponse = { + /** The data filter that selected the range that was updated. */ + dataFilter?: GoogleSheets.DataFilter; + /** The number of cells updated. */ + updatedCells?: number; + /** The number of columns where at least one cell in the column was updated. */ + updatedColumns?: number; + /** The values of the cells in the range matched by the dataFilter after all updates were applied. This is only included if the request's `includeValuesInResponse` field was `true`. */ + updatedData?: GoogleSheets.ValueRange; + /** The range (in [A1 notation](https://developers.google.com/workspace/sheets/api/guides/concepts#cell)) that updates were applied to. */ + updatedRange?: string; + /** The number of rows where at least one cell in the row was updated. */ + updatedRows?: number; + }; + /** The response when updating a range of values in a spreadsheet. */ + type UpdateValuesResponse = { + /** The spreadsheet the updates were applied to. */ + spreadsheetId?: string; + /** The number of cells updated. */ + updatedCells?: number; + /** The number of columns where at least one cell in the column was updated. */ + updatedColumns?: number; + /** The values of the cells after updates were applied. This is only included if the request's `includeValuesInResponse` field was `true`. */ + updatedData?: GoogleSheets.ValueRange; + /** The range (in A1 notation) that updates were applied to. */ + updatedRange?: string; + /** The number of rows where at least one cell in the row was updated. */ + updatedRows?: number; + }; + /** Data within a range of the spreadsheet. */ + type ValueRange = { + /** The major dimension of the values. For output, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=A1:B2,majorDimension=ROWS` will return `[[1,2],[3,4]]`, whereas requesting `range=A1:B2,majorDimension=COLUMNS` will return `[[1,3],[2,4]]`. For input, with `range=A1:B2,majorDimension=ROWS` then `[[1,2],[3,4]]` will set `A1=1,B1=2,A2=3,B2=4`. With `range=A1:B2,majorDimension=COLUMNS` then `[[1,2],[3,4]]` will set `A1=1,B1=3,A2=2,B2=4`. When writing, if this field is not set, it defaults to ROWS. */ + majorDimension?: "DIMENSION_UNSPECIFIED" | "ROWS" | "COLUMNS"; + /** The range the values cover, in [A1 notation](https://developers.google.com/workspace/sheets/api/guides/concepts#cell). For output, this range indicates the entire requested range, even though the values will exclude trailing rows and columns. When appending values, this field represents the range to search for a table, after which values will be appended. */ + range?: string; + /** The data that was read or to be written. This is an array of arrays, the outer array representing all the data and each inner array representing a major dimension. Each item in the inner array corresponds with one cell. For output, empty trailing rows and columns will not be included. For input, supported value types are: bool, string, and double. Null values will be skipped. To set a cell to an empty value, set the string value to an empty string. */ + values?: Array>; + }; + /** Styles for a waterfall chart column. */ + type WaterfallChartColumnStyle = { + /** The color of the column. Deprecated: Use color_style. */ + color?: GoogleSheets.Color; + /** The color of the column. If color is also set, this field takes precedence. */ + colorStyle?: GoogleSheets.ColorStyle; + /** The label of the column's legend. */ + label?: string; + }; + /** A custom subtotal column for a waterfall chart series. */ + type WaterfallChartCustomSubtotal = { + /** True if the data point at subtotal_index is the subtotal. If false, the subtotal will be computed and appear after the data point. */ + dataIsSubtotal?: boolean; + /** A label for the subtotal column. */ + label?: string; + /** The zero-based index of a data point within the series. If data_is_subtotal is true, the data point at this index is the subtotal. Otherwise, the subtotal appears after the data point with this index. A series can have multiple subtotals at arbitrary indices, but subtotals do not affect the indices of the data points. For example, if a series has three data points, their indices will always be 0, 1, and 2, regardless of how many subtotals exist on the series or what data points they are associated with. */ + subtotalIndex?: number; + }; + /** The domain of a waterfall chart. */ + type WaterfallChartDomain = { + /** The data of the WaterfallChartDomain. */ + data?: GoogleSheets.ChartData; + /** True to reverse the order of the domain values (horizontal axis). */ + reversed?: boolean; + }; + /** A single series of data for a waterfall chart. */ + type WaterfallChartSeries = { + /** Custom subtotal columns appearing in this series. The order in which subtotals are defined is not significant. Only one subtotal may be defined for each data point. */ + customSubtotals?: Array; + /** The data being visualized in this series. */ + data?: GoogleSheets.ChartData; + /** Information about the data labels for this series. */ + dataLabel?: GoogleSheets.DataLabel; + /** True to hide the subtotal column from the end of the series. By default, a subtotal column will appear at the end of each series. Setting this field to true will hide that subtotal column for this series. */ + hideTrailingSubtotal?: boolean; + /** Styles for all columns in this series with negative values. */ + negativeColumnsStyle?: GoogleSheets.WaterfallChartColumnStyle; + /** Styles for all columns in this series with positive values. */ + positiveColumnsStyle?: GoogleSheets.WaterfallChartColumnStyle; + /** Styles for all subtotal columns in this series. */ + subtotalColumnsStyle?: GoogleSheets.WaterfallChartColumnStyle; + }; + /** A waterfall chart. */ + type WaterfallChartSpec = { + /** The line style for the connector lines. */ + connectorLineStyle?: GoogleSheets.LineStyle; + /** The domain data (horizontal axis) for the waterfall chart. */ + domain?: GoogleSheets.WaterfallChartDomain; + /** True to interpret the first value as a total. */ + firstValueIsTotal?: boolean; + /** True to hide connector lines between columns. */ + hideConnectorLines?: boolean; + /** The data this waterfall chart is visualizing. */ + series?: Array; + /** The stacked type. */ + stackedType?: "WATERFALL_STACKED_TYPE_UNSPECIFIED" | "STACKED" | "SEQUENTIAL"; + /** Controls whether to display additional data labels on stacked charts which sum the total value of all stacked values at each value along the domain axis. stacked_type must be STACKED and neither CUSTOM nor placement can be set on the total_data_label. */ + totalDataLabel?: GoogleSheets.DataLabel; + }; + type SpreadsheetsBatchUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The spreadsheet to apply the updates to. */ + spreadsheetId: string; + requestBody?: GoogleSheets.BatchUpdateSpreadsheetRequest; + }; + type SpreadsheetsCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleSheets.Spreadsheet; + }; + type SpreadsheetsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** True if tables should be excluded in the banded ranges. False if not set. */ + excludeTablesInBandedRanges?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** True if grid data should be returned. This parameter is ignored if a field mask was set in the request. */ + includeGridData?: boolean; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ranges to retrieve from the spreadsheet. */ + ranges?: Array; + /** The spreadsheet to request. */ + spreadsheetId: string; + }; + type SpreadsheetsGetByDataFilterParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The spreadsheet to request. */ + spreadsheetId: string; + requestBody?: GoogleSheets.GetSpreadsheetByDataFilterRequest; + }; + type SpreadsheetsDeveloperMetadataGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the developer metadata to retrieve. */ + metadataId: number; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to retrieve metadata from. */ + spreadsheetId: string; + }; + type SpreadsheetsDeveloperMetadataSearchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to retrieve metadata from. */ + spreadsheetId: string; + requestBody?: GoogleSheets.SearchDeveloperMetadataRequest; + }; + type SpreadsheetsSheetsCopyToParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the sheet to copy. */ + sheetId: number; + /** The ID of the spreadsheet containing the sheet to copy. */ + spreadsheetId: string; + requestBody?: GoogleSheets.CopySheetToAnotherSpreadsheetRequest; + }; + type SpreadsheetsValuesAppendParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Determines if the update response should include the values of the cells that were appended. By default, responses do not include the updated values. */ + includeValuesInResponse?: boolean; + /** How the input data should be inserted. */ + insertDataOption?: "OVERWRITE" | "INSERT_ROWS"; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The [A1 notation](https://developers.google.com/workspace/sheets/api/guides/concepts#cell) of a range to search for a logical table of data. Values are appended after the last row of the table. */ + range: string; + /** Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER. */ + responseDateTimeRenderOption?: "SERIAL_NUMBER" | "FORMATTED_STRING"; + /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ + responseValueRenderOption?: "FORMATTED_VALUE" | "UNFORMATTED_VALUE" | "FORMULA"; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** How the input data should be interpreted. */ + valueInputOption?: "INPUT_VALUE_OPTION_UNSPECIFIED" | "RAW" | "USER_ENTERED"; + requestBody?: GoogleSheets.ValueRange; + }; + type SpreadsheetsValuesBatchClearParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + requestBody?: GoogleSheets.BatchClearValuesRequest; + }; + type SpreadsheetsValuesBatchClearByDataFilterParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + requestBody?: GoogleSheets.BatchClearValuesByDataFilterRequest; + }; + type SpreadsheetsValuesBatchGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER. */ + dateTimeRenderOption?: "SERIAL_NUMBER" | "FORMATTED_STRING"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The major dimension that results should use. For example, if the spreadsheet data is: `A1=1,B1=2,A2=3,B2=4`, then requesting `ranges=["A1:B2"],majorDimension=ROWS` returns `[[1,2],[3,4]]`, whereas requesting `ranges=["A1:B2"],majorDimension=COLUMNS` returns `[[1,3],[2,4]]`. */ + majorDimension?: "DIMENSION_UNSPECIFIED" | "ROWS" | "COLUMNS"; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The [A1 notation or R1C1 notation](https://developers.google.com/workspace/sheets/api/guides/concepts#cell) of the range to retrieve values from. */ + ranges?: Array; + /** The ID of the spreadsheet to retrieve data from. */ + spreadsheetId: string; + /** How values should be represented in the output. The default render option is ValueRenderOption.FORMATTED_VALUE. */ + valueRenderOption?: "FORMATTED_VALUE" | "UNFORMATTED_VALUE" | "FORMULA"; + }; + type SpreadsheetsValuesBatchGetByDataFilterParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to retrieve data from. */ + spreadsheetId: string; + requestBody?: GoogleSheets.BatchGetValuesByDataFilterRequest; + }; + type SpreadsheetsValuesBatchUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + requestBody?: GoogleSheets.BatchUpdateValuesRequest; + }; + type SpreadsheetsValuesBatchUpdateByDataFilterParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + requestBody?: GoogleSheets.BatchUpdateValuesByDataFilterRequest; + }; + type SpreadsheetsValuesClearParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The [A1 notation or R1C1 notation](https://developers.google.com/workspace/sheets/api/guides/concepts#cell) of the values to clear. */ + range: string; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + requestBody?: GoogleSheets.ClearValuesRequest; + }; + type SpreadsheetsValuesGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** How dates, times, and durations should be represented in the output. This is ignored if value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER. */ + dateTimeRenderOption?: "SERIAL_NUMBER" | "FORMATTED_STRING"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The major dimension that results should use. For example, if the spreadsheet data in Sheet1 is: `A1=1,B1=2,A2=3,B2=4`, then requesting `range=Sheet1!A1:B2?majorDimension=ROWS` returns `[[1,2],[3,4]]`, whereas requesting `range=Sheet1!A1:B2?majorDimension=COLUMNS` returns `[[1,3],[2,4]]`. */ + majorDimension?: "DIMENSION_UNSPECIFIED" | "ROWS" | "COLUMNS"; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The [A1 notation or R1C1 notation](https://developers.google.com/workspace/sheets/api/guides/concepts#cell) of the range to retrieve values from. */ + range: string; + /** The ID of the spreadsheet to retrieve data from. */ + spreadsheetId: string; + /** How values should be represented in the output. The default render option is FORMATTED_VALUE. */ + valueRenderOption?: "FORMATTED_VALUE" | "UNFORMATTED_VALUE" | "FORMULA"; + }; + type SpreadsheetsValuesUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Determines if the update response should include the values of the cells that were updated. By default, responses do not include the updated values. If the range to write was larger than the range actually written, the response includes all values in the requested range (excluding trailing empty rows and columns). */ + includeValuesInResponse?: boolean; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The [A1 notation](https://developers.google.com/workspace/sheets/api/guides/concepts#cell) of the values to update. */ + range: string; + /** Determines how dates, times, and durations in the response should be rendered. This is ignored if response_value_render_option is FORMATTED_VALUE. The default dateTime render option is SERIAL_NUMBER. */ + responseDateTimeRenderOption?: "SERIAL_NUMBER" | "FORMATTED_STRING"; + /** Determines how values in the response should be rendered. The default render option is FORMATTED_VALUE. */ + responseValueRenderOption?: "FORMATTED_VALUE" | "UNFORMATTED_VALUE" | "FORMULA"; + /** The ID of the spreadsheet to update. */ + spreadsheetId: string; + /** How the input data should be interpreted. */ + valueInputOption?: "INPUT_VALUE_OPTION_UNSPECIFIED" | "RAW" | "USER_ENTERED"; + requestBody?: GoogleSheets.ValueRange; + }; + type Client = { + spreadsheets: { + /** 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. */ + batchUpdate(params: SpreadsheetsBatchUpdateParams): Promise; + /** Creates a spreadsheet, returning the newly created spreadsheet. */ + create(params?: SpreadsheetsCreateParams): Promise; + /** 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](https://developers.google.com/workspace/sheets/api/guides/field-masks) 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](https://developers.google.com/workspace/sheets/api/guides/concepts#cell). 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. */ + get(params: SpreadsheetsGetParams): Promise; + /** Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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](https://developers.google.com/workspace/sheets/api/guides/field-masks) 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. */ + getByDataFilter(params: SpreadsheetsGetByDataFilterParams): Promise; + developerMetadata: { + /** 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](https://developers.google.com/workspace/sheets/api/guides/metadata). */ + get(params: SpreadsheetsDeveloperMetadataGetParams): Promise; + /** Returns all developer metadata matching the specified DataFilter. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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. */ + search(params: SpreadsheetsDeveloperMetadataSearchParams): Promise; + }; + sheets: { + /** Copies a single sheet from a spreadsheet to another spreadsheet. Returns the properties of the newly created sheet. */ + copyTo(params: SpreadsheetsSheetsCopyToParams): Promise; + }; + values: { + /** 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](https://developers.google.com/workspace/sheets/api/guides/values#appending_values) and [sample code](https://developers.google.com/workspace/sheets/api/samples/writing#append_values) 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. */ + append(params: SpreadsheetsValuesAppendParams): Promise; + /** 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. */ + batchClear(params: SpreadsheetsValuesBatchClearParams): Promise; + /** Clears one or more ranges of values from a spreadsheet. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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. */ + batchClearByDataFilter(params: SpreadsheetsValuesBatchClearByDataFilterParams): Promise; + /** Returns one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges. */ + batchGet(params: SpreadsheetsValuesBatchGetParams): Promise; + /** Returns one or more ranges of values that match the specified data filters. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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. */ + batchGetByDataFilter(params: SpreadsheetsValuesBatchGetByDataFilterParams): Promise; + /** Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more ValueRanges. */ + batchUpdate(params: SpreadsheetsValuesBatchUpdateParams): Promise; + /** Sets values in one or more ranges of a spreadsheet. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata). The caller must specify the spreadsheet ID, a valueInputOption, and one or more DataFilterValueRanges. */ + batchUpdateByDataFilter(params: SpreadsheetsValuesBatchUpdateByDataFilterParams): Promise; + /** 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. */ + clear(params: SpreadsheetsValuesClearParams): Promise; + /** Returns a range of values from a spreadsheet. The caller must specify the spreadsheet ID and a range. */ + get(params: SpreadsheetsValuesGetParams): Promise; + /** Sets values in a range of a spreadsheet. The caller must specify the spreadsheet ID, range, and a valueInputOption. */ + update(params: SpreadsheetsValuesUpdateParams): Promise; + }; + }; + }; +} +declare namespace GoogleSlides { + /** AffineTransform uses a 3x3 matrix with an implied last row of [ 0 0 1 ] to transform source coordinates (x,y) into destination coordinates (x', y') according to: x' x = shear_y scale_y translate_y 1 [ 1 ] After transformation, x' = scale_x * x + shear_x * y + translate_x; y' = scale_y * y + shear_y * x + translate_y; This message is therefore composed of these six matrix elements. */ + type AffineTransform = { + /** The X coordinate scaling element. */ + scaleX?: number; + /** The Y coordinate scaling element. */ + scaleY?: number; + /** The X coordinate shearing element. */ + shearX?: number; + /** The Y coordinate shearing element. */ + shearY?: number; + /** The X coordinate translation element. */ + translateX?: number; + /** The Y coordinate translation element. */ + translateY?: number; + /** The units for translate elements. */ + unit?: "UNIT_UNSPECIFIED" | "EMU" | "PT"; + }; + /** The autofit properties of a Shape. This property is only set for shapes that allow text. */ + type Autofit = { + /** The autofit type of the shape. If the autofit type is AUTOFIT_TYPE_UNSPECIFIED, the autofit type is inherited from a parent placeholder if it exists. The field is automatically set to NONE if a request is made that might affect text fitting within its bounding text box. In this case, the font_scale is applied to the font_size and the line_spacing_reduction is applied to the line_spacing. Both properties are also reset to default values. */ + autofitType?: "AUTOFIT_TYPE_UNSPECIFIED" | "NONE" | "TEXT_AUTOFIT" | "SHAPE_AUTOFIT"; + /** The font scale applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 1. For TEXT_AUTOFIT, this value multiplied by the font_size gives the font size that's rendered in the editor. This property is read-only. */ + fontScale?: number; + /** The line spacing reduction applied to the shape. For shapes with autofit_type NONE or SHAPE_AUTOFIT, this value is the default value of 0. For TEXT_AUTOFIT, this value subtracted from the line_spacing gives the line spacing that's rendered in the editor. This property is read-only. */ + lineSpacingReduction?: number; + }; + /** A TextElement kind that represents auto text. */ + type AutoText = { + /** The rendered content of this auto text, if available. */ + content?: string; + /** The styling applied to this auto text. */ + style?: GoogleSlides.TextStyle; + /** The type of this auto text. */ + type?: "TYPE_UNSPECIFIED" | "SLIDE_NUMBER"; + }; + /** Request message for PresentationsService.BatchUpdatePresentation. */ + type BatchUpdatePresentationRequest = { + /** A list of updates to apply to the presentation. */ + requests?: Array; + /** Provides control over how write requests are executed. */ + writeControl?: GoogleSlides.WriteControl; + }; + /** Response message from a batch update. */ + type BatchUpdatePresentationResponse = { + /** The presentation the updates were applied to. */ + presentationId?: string; + /** The reply of the updates. This maps 1:1 with the updates, although replies to some requests may be empty. */ + replies?: Array; + /** The updated write control after applying the request. */ + writeControl?: GoogleSlides.WriteControl; + }; + /** Describes the bullet of a paragraph. */ + type Bullet = { + /** The paragraph specific text style applied to this bullet. */ + bulletStyle?: GoogleSlides.TextStyle; + /** The rendered bullet glyph for this paragraph. */ + glyph?: string; + /** The ID of the list this paragraph belongs to. */ + listId?: string; + /** The nesting level of this paragraph in the list. */ + nestingLevel?: number; + }; + /** The palette of predefined colors for a page. */ + type ColorScheme = { + /** The ThemeColorType and corresponding concrete color pairs. */ + colors?: Array; + }; + /** A color and position in a gradient band. */ + type ColorStop = { + /** The alpha value of this color in the gradient band. Defaults to 1.0, fully opaque. */ + alpha?: number; + /** The color of the gradient stop. */ + color?: GoogleSlides.OpaqueColor; + /** The relative position of the color stop in the gradient band measured in percentage. The value should be in the interval [0.0, 1.0]. */ + position?: number; + }; + /** Creates an image. */ + type CreateImageRequest = { + /** The element properties for the image. When the aspect ratio of the provided size does not match the image aspect ratio, the image is scaled and centered with respect to the size in order to maintain the aspect ratio. The provided transform is applied after this operation. The PageElementProperties.size property is optional. If you don't specify the size, the default size of the image is used. The PageElementProperties.transform property is optional. If you don't specify a transform, the image will be placed at the top-left corner of the page. */ + elementProperties?: GoogleSlides.PageElementProperties; + /** A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated. */ + objectId?: string; + /** The image URL. The image is fetched once at insertion time and a copy is stored for display inside the presentation. Images must be less than 50 MB in size, can't exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF formats. The provided URL must be publicly accessible and up to 2 KB in length. The URL is saved with the image, and exposed through the Image.source_url field. */ + url?: string; + }; + /** The result of creating an image. */ + type CreateImageResponse = { + /** The object ID of the created image. */ + objectId?: string; + }; + /** Creates a line. */ + type CreateLineRequest = { + /** The category of the line to be created. The exact line type created is determined based on the category and how it's routed to connect to other page elements. If you specify both a `category` and a `line_category`, the `category` takes precedence. If you do not specify a value for `category`, but specify a value for `line_category`, then the specified `line_category` value is used. If you do not specify either, then STRAIGHT is used. */ + category?: "LINE_CATEGORY_UNSPECIFIED" | "STRAIGHT" | "BENT" | "CURVED"; + /** The element properties for the line. */ + elementProperties?: GoogleSlides.PageElementProperties; + /** The category of the line to be created. *Deprecated*: use `category` instead. The exact line type created is determined based on the category and how it's routed to connect to other page elements. If you specify both a `category` and a `line_category`, the `category` takes precedence. */ + lineCategory?: "STRAIGHT" | "BENT" | "CURVED"; + /** A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated. */ + objectId?: string; + }; + /** The result of creating a line. */ + type CreateLineResponse = { + /** The object ID of the created line. */ + objectId?: string; + }; + /** Creates bullets for all of the paragraphs that overlap with the given text index range. The nesting level of each paragraph will be determined by counting leading tabs in front of each paragraph. To avoid excess space between the bullet and the corresponding paragraph, these leading tabs are removed by this request. This may change the indices of parts of the text. If the paragraph immediately before paragraphs being updated is in a list with a matching preset, the paragraphs being updated are added to that preceding list. */ + type CreateParagraphBulletsRequest = { + /** The kinds of bullet glyphs to be used. Defaults to the `BULLET_DISC_CIRCLE_SQUARE` preset. */ + bulletPreset?: "BULLET_DISC_CIRCLE_SQUARE" | "BULLET_DIAMONDX_ARROW3D_SQUARE" | "BULLET_CHECKBOX" | "BULLET_ARROW_DIAMOND_DISC" | "BULLET_STAR_CIRCLE_SQUARE" | "BULLET_ARROW3D_CIRCLE_SQUARE" | "BULLET_LEFTTRIANGLE_DIAMOND_DISC" | "BULLET_DIAMONDX_HOLLOWDIAMOND_SQUARE" | "BULLET_DIAMOND_CIRCLE_SQUARE" | "NUMBERED_DIGIT_ALPHA_ROMAN" | "NUMBERED_DIGIT_ALPHA_ROMAN_PARENS" | "NUMBERED_DIGIT_NESTED" | "NUMBERED_UPPERALPHA_ALPHA_ROMAN" | "NUMBERED_UPPERROMAN_UPPERALPHA_DIGIT" | "NUMBERED_ZERODIGIT_ALPHA_ROMAN"; + /** The optional table cell location if the text to be modified is in a table cell. If present, the object_id must refer to a table. */ + cellLocation?: GoogleSlides.TableCellLocation; + /** The object ID of the shape or table containing the text to add bullets to. */ + objectId?: string; + /** The range of text to apply the bullet presets to, based on TextElement indexes. */ + textRange?: GoogleSlides.Range; + }; + /** Creates a new shape. */ + type CreateShapeRequest = { + /** The element properties for the shape. */ + elementProperties?: GoogleSlides.PageElementProperties; + /** A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If empty, a unique identifier will be generated. */ + objectId?: string; + /** The shape type. */ + shapeType?: "TYPE_UNSPECIFIED" | "TEXT_BOX" | "RECTANGLE" | "ROUND_RECTANGLE" | "ELLIPSE" | "ARC" | "BENT_ARROW" | "BENT_UP_ARROW" | "BEVEL" | "BLOCK_ARC" | "BRACE_PAIR" | "BRACKET_PAIR" | "CAN" | "CHEVRON" | "CHORD" | "CLOUD" | "CORNER" | "CUBE" | "CURVED_DOWN_ARROW" | "CURVED_LEFT_ARROW" | "CURVED_RIGHT_ARROW" | "CURVED_UP_ARROW" | "DECAGON" | "DIAGONAL_STRIPE" | "DIAMOND" | "DODECAGON" | "DONUT" | "DOUBLE_WAVE" | "DOWN_ARROW" | "DOWN_ARROW_CALLOUT" | "FOLDED_CORNER" | "FRAME" | "HALF_FRAME" | "HEART" | "HEPTAGON" | "HEXAGON" | "HOME_PLATE" | "HORIZONTAL_SCROLL" | "IRREGULAR_SEAL_1" | "IRREGULAR_SEAL_2" | "LEFT_ARROW" | "LEFT_ARROW_CALLOUT" | "LEFT_BRACE" | "LEFT_BRACKET" | "LEFT_RIGHT_ARROW" | "LEFT_RIGHT_ARROW_CALLOUT" | "LEFT_RIGHT_UP_ARROW" | "LEFT_UP_ARROW" | "LIGHTNING_BOLT" | "MATH_DIVIDE" | "MATH_EQUAL" | "MATH_MINUS" | "MATH_MULTIPLY" | "MATH_NOT_EQUAL" | "MATH_PLUS" | "MOON" | "NO_SMOKING" | "NOTCHED_RIGHT_ARROW" | "OCTAGON" | "PARALLELOGRAM" | "PENTAGON" | "PIE" | "PLAQUE" | "PLUS" | "QUAD_ARROW" | "QUAD_ARROW_CALLOUT" | "RIBBON" | "RIBBON_2" | "RIGHT_ARROW" | "RIGHT_ARROW_CALLOUT" | "RIGHT_BRACE" | "RIGHT_BRACKET" | "ROUND_1_RECTANGLE" | "ROUND_2_DIAGONAL_RECTANGLE" | "ROUND_2_SAME_RECTANGLE" | "RIGHT_TRIANGLE" | "SMILEY_FACE" | "SNIP_1_RECTANGLE" | "SNIP_2_DIAGONAL_RECTANGLE" | "SNIP_2_SAME_RECTANGLE" | "SNIP_ROUND_RECTANGLE" | "STAR_10" | "STAR_12" | "STAR_16" | "STAR_24" | "STAR_32" | "STAR_4" | "STAR_5" | "STAR_6" | "STAR_7" | "STAR_8" | "STRIPED_RIGHT_ARROW" | "SUN" | "TRAPEZOID" | "TRIANGLE" | "UP_ARROW" | "UP_ARROW_CALLOUT" | "UP_DOWN_ARROW" | "UTURN_ARROW" | "VERTICAL_SCROLL" | "WAVE" | "WEDGE_ELLIPSE_CALLOUT" | "WEDGE_RECTANGLE_CALLOUT" | "WEDGE_ROUND_RECTANGLE_CALLOUT" | "FLOW_CHART_ALTERNATE_PROCESS" | "FLOW_CHART_COLLATE" | "FLOW_CHART_CONNECTOR" | "FLOW_CHART_DECISION" | "FLOW_CHART_DELAY" | "FLOW_CHART_DISPLAY" | "FLOW_CHART_DOCUMENT" | "FLOW_CHART_EXTRACT" | "FLOW_CHART_INPUT_OUTPUT" | "FLOW_CHART_INTERNAL_STORAGE" | "FLOW_CHART_MAGNETIC_DISK" | "FLOW_CHART_MAGNETIC_DRUM" | "FLOW_CHART_MAGNETIC_TAPE" | "FLOW_CHART_MANUAL_INPUT" | "FLOW_CHART_MANUAL_OPERATION" | "FLOW_CHART_MERGE" | "FLOW_CHART_MULTIDOCUMENT" | "FLOW_CHART_OFFLINE_STORAGE" | "FLOW_CHART_OFFPAGE_CONNECTOR" | "FLOW_CHART_ONLINE_STORAGE" | "FLOW_CHART_OR" | "FLOW_CHART_PREDEFINED_PROCESS" | "FLOW_CHART_PREPARATION" | "FLOW_CHART_PROCESS" | "FLOW_CHART_PUNCHED_CARD" | "FLOW_CHART_PUNCHED_TAPE" | "FLOW_CHART_SORT" | "FLOW_CHART_SUMMING_JUNCTION" | "FLOW_CHART_TERMINATOR" | "ARROW_EAST" | "ARROW_NORTH_EAST" | "ARROW_NORTH" | "SPEECH" | "STARBURST" | "TEARDROP" | "ELLIPSE_RIBBON" | "ELLIPSE_RIBBON_2" | "CLOUD_CALLOUT" | "CUSTOM"; + }; + /** The result of creating a shape. */ + type CreateShapeResponse = { + /** The object ID of the created shape. */ + objectId?: string; + }; + /** Creates an embedded Google Sheets chart. NOTE: Chart creation requires at least one of the spreadsheets.readonly, spreadsheets, drive.readonly, drive.file, or drive OAuth scopes. */ + type CreateSheetsChartRequest = { + /** The ID of the specific chart in the Google Sheets spreadsheet. */ + chartId?: number; + /** The element properties for the chart. When the aspect ratio of the provided size does not match the chart aspect ratio, the chart is scaled and centered with respect to the size in order to maintain aspect ratio. The provided transform is applied after this operation. */ + elementProperties?: GoogleSlides.PageElementProperties; + /** The mode with which the chart is linked to the source spreadsheet. When not specified, the chart will be an image that is not linked. */ + linkingMode?: "NOT_LINKED_IMAGE" | "LINKED"; + /** A user-supplied object ID. If specified, the ID must be unique among all pages and page elements in the presentation. The ID should start with a word character [a-zA-Z0-9_] and then followed by any number of the following characters [a-zA-Z0-9_-:]. The length of the ID should not be less than 5 or greater than 50. If empty, a unique identifier will be generated. */ + objectId?: string; + /** The ID of the Google Sheets spreadsheet that contains the chart. You might need to add a resource key to the HTTP header for a subset of old files. For more information, see [Access link-shared files using resource keys](https://developers.google.com/drive/api/v3/resource-keys). */ + spreadsheetId?: string; + }; + /** The result of creating an embedded Google Sheets chart. */ + type CreateSheetsChartResponse = { + /** The object ID of the created chart. */ + objectId?: string; + }; + /** Creates a slide. */ + type CreateSlideRequest = { + /** The optional zero-based index indicating where to insert the slides. If you don't specify an index, the slide is created at the end. */ + insertionIndex?: number; + /** A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The ID length must be between 5 and 50 characters, inclusive. If you don't specify an ID, a unique one is generated. */ + objectId?: string; + /** An optional list of object ID mappings from the placeholder(s) on the layout to the placeholders that are created on the slide from the specified layout. Can only be used when `slide_layout_reference` is specified. */ + placeholderIdMappings?: Array; + /** Layout reference of the slide to be inserted, based on the *current master*, which is one of the following: - The master of the previous slide index. - The master of the first slide, if the insertion_index is zero. - The first master in the presentation, if there are no slides. If the LayoutReference is not found in the current master, a 400 bad request error is returned. If you don't specify a layout reference, the slide uses the predefined `BLANK` layout. */ + slideLayoutReference?: GoogleSlides.LayoutReference; + }; + /** The result of creating a slide. */ + type CreateSlideResponse = { + /** The object ID of the created slide. */ + objectId?: string; + }; + /** Creates a new table. */ + type CreateTableRequest = { + /** Number of columns in the table. */ + columns?: number; + /** The element properties for the table. The table will be created at the provided size, subject to a minimum size. If no size is provided, the table will be automatically sized. Table transforms must have a scale of 1 and no shear components. If no transform is provided, the table will be centered on the page. */ + elementProperties?: GoogleSlides.PageElementProperties; + /** A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated. */ + objectId?: string; + /** Number of rows in the table. */ + rows?: number; + }; + /** The result of creating a table. */ + type CreateTableResponse = { + /** The object ID of the created table. */ + objectId?: string; + }; + /** Creates a video. NOTE: Creating a video from Google Drive requires that the requesting app have at least one of the drive, drive.readonly, or drive.file OAuth scopes. */ + type CreateVideoRequest = { + /** The element properties for the video. The PageElementProperties.size property is optional. If you don't specify a size, a default size is chosen by the server. The PageElementProperties.transform property is optional. The transform must not have shear components. If you don't specify a transform, the video will be placed at the top left corner of the page. */ + elementProperties?: GoogleSlides.PageElementProperties; + /** The video source's unique identifier for this video. e.g. For YouTube video https://www.youtube.com/watch?v=7U3axjORYZ0, the ID is 7U3axjORYZ0. For a Google Drive video https://drive.google.com/file/d/1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5Q the ID is 1xCgQLFTJi5_Xl8DgW_lcUYq5e-q6Hi5Q. To access a Google Drive video file, you might need to add a resource key to the HTTP header for a subset of old files. For more information, see [Access link-shared files using resource keys](https://developers.google.com/drive/api/v3/resource-keys). */ + id?: string; + /** A user-supplied object ID. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated. */ + objectId?: string; + /** The video source. */ + source?: "SOURCE_UNSPECIFIED" | "YOUTUBE" | "DRIVE"; + }; + /** The result of creating a video. */ + type CreateVideoResponse = { + /** The object ID of the created video. */ + objectId?: string; + }; + /** The crop properties of an object enclosed in a container. For example, an Image. The crop properties is represented by the offsets of four edges which define a crop rectangle. The offsets are measured in percentage from the corresponding edges of the object's original bounding rectangle towards inside, relative to the object's original dimensions. - If the offset is in the interval (0, 1), the corresponding edge of crop rectangle is positioned inside of the object's original bounding rectangle. - If the offset is negative or greater than 1, the corresponding edge of crop rectangle is positioned outside of the object's original bounding rectangle. - If the left edge of the crop rectangle is on the right side of its right edge, the object will be flipped horizontally. - If the top edge of the crop rectangle is below its bottom edge, the object will be flipped vertically. - If all offsets and rotation angle is 0, the object is not cropped. After cropping, the content in the crop rectangle will be stretched to fit its container. */ + type CropProperties = { + /** The rotation angle of the crop window around its center, in radians. Rotation angle is applied after the offset. */ + angle?: number; + /** The offset specifies the bottom edge of the crop rectangle that is located above the original bounding rectangle bottom edge, relative to the object's original height. */ + bottomOffset?: number; + /** The offset specifies the left edge of the crop rectangle that is located to the right of the original bounding rectangle left edge, relative to the object's original width. */ + leftOffset?: number; + /** The offset specifies the right edge of the crop rectangle that is located to the left of the original bounding rectangle right edge, relative to the object's original width. */ + rightOffset?: number; + /** The offset specifies the top edge of the crop rectangle that is located below the original bounding rectangle top edge, relative to the object's original height. */ + topOffset?: number; + }; + /** Deletes an object, either pages or page elements, from the presentation. */ + type DeleteObjectRequest = { + /** The object ID of the page or page element to delete. If after a delete operation a group contains only 1 or no page elements, the group is also deleted. If a placeholder is deleted on a layout, any empty inheriting placeholders are also deleted. */ + objectId?: string; + }; + /** Deletes bullets from all of the paragraphs that overlap with the given text index range. The nesting level of each paragraph will be visually preserved by adding indent to the start of the corresponding paragraph. */ + type DeleteParagraphBulletsRequest = { + /** The optional table cell location if the text to be modified is in a table cell. If present, the object_id must refer to a table. */ + cellLocation?: GoogleSlides.TableCellLocation; + /** The object ID of the shape or table containing the text to delete bullets from. */ + objectId?: string; + /** The range of text to delete bullets from, based on TextElement indexes. */ + textRange?: GoogleSlides.Range; + }; + /** Deletes a column from a table. */ + type DeleteTableColumnRequest = { + /** The reference table cell location from which a column will be deleted. The column this cell spans will be deleted. If this is a merged cell, multiple columns will be deleted. If no columns remain in the table after this deletion, the whole table is deleted. */ + cellLocation?: GoogleSlides.TableCellLocation; + /** The table to delete columns from. */ + tableObjectId?: string; + }; + /** Deletes a row from a table. */ + type DeleteTableRowRequest = { + /** The reference table cell location from which a row will be deleted. The row this cell spans will be deleted. If this is a merged cell, multiple rows will be deleted. If no rows remain in the table after this deletion, the whole table is deleted. */ + cellLocation?: GoogleSlides.TableCellLocation; + /** The table to delete rows from. */ + tableObjectId?: string; + }; + /** Deletes text from a shape or a table cell. */ + type DeleteTextRequest = { + /** The optional table cell location if the text is to be deleted from a table cell. If present, the object_id must refer to a table. */ + cellLocation?: GoogleSlides.TableCellLocation; + /** The object ID of the shape or table from which the text will be deleted. */ + objectId?: string; + /** The range of text to delete, based on TextElement indexes. There is always an implicit newline character at the end of a shape's or table cell's text that cannot be deleted. `Range.Type.ALL` will use the correct bounds, but care must be taken when specifying explicit bounds for range types `FROM_START_INDEX` and `FIXED_RANGE`. For example, if the text is "ABC", followed by an implicit newline, then the maximum value is 2 for `text_range.start_index` and 3 for `text_range.end_index`. Deleting text that crosses a paragraph boundary may result in changes to paragraph styles and lists as the two paragraphs are merged. Ranges that include only one code unit of a surrogate pair are expanded to include both code units. */ + textRange?: GoogleSlides.Range; + }; + /** A magnitude in a single direction in the specified units. */ + type Dimension = { + /** The magnitude. */ + magnitude?: number; + /** The units for magnitude. */ + unit?: "UNIT_UNSPECIFIED" | "EMU" | "PT"; + }; + /** Duplicates a slide or page element. When duplicating a slide, the duplicate slide will be created immediately following the specified slide. When duplicating a page element, the duplicate will be placed on the same page at the same position as the original. */ + type DuplicateObjectRequest = { + /** The ID of the object to duplicate. */ + objectId?: string; + /** The object being duplicated may contain other objects, for example when duplicating a slide or a group page element. This map defines how the IDs of duplicated objects are generated: the keys are the IDs of the original objects and its values are the IDs that will be assigned to the corresponding duplicate object. The ID of the source object's duplicate may be specified in this map as well, using the same value of the `object_id` field as a key and the newly desired ID as the value. All keys must correspond to existing IDs in the presentation. All values must be unique in the presentation and must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the new ID must not be less than 5 or greater than 50. If any IDs of source objects are omitted from the map, a new random ID will be assigned. If the map is empty or unset, all duplicate objects will receive a new random ID. */ + objectIds?: Record; + }; + /** The response of duplicating an object. */ + type DuplicateObjectResponse = { + /** The ID of the new duplicate object. */ + objectId?: string; + }; + /** A PageElement kind representing a joined collection of PageElements. */ + type Group = { + /** The collection of elements in the group. The minimum size of a group is 2. */ + children?: Array; + }; + /** Groups objects to create an object group. For example, groups PageElements to create a Group on the same page as all the children. */ + type GroupObjectsRequest = { + /** The object IDs of the objects to group. Only page elements can be grouped. There should be at least two page elements on the same page that are not already in another group. Some page elements, such as videos, tables and placeholders cannot be grouped. */ + childrenObjectIds?: Array; + /** A user-supplied object ID for the group to be created. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated. */ + groupObjectId?: string; + }; + /** The result of grouping objects. */ + type GroupObjectsResponse = { + /** The object ID of the created group. */ + objectId?: string; + }; + /** A PageElement kind representing an image. */ + type Image = { + /** An URL to an image with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the image as the original requester. Access to the image may be lost if the presentation's sharing settings change. */ + contentUrl?: string; + /** The properties of the image. */ + imageProperties?: GoogleSlides.ImageProperties; + /** Placeholders are page elements that inherit from corresponding placeholders on layouts and masters. If set, the image is a placeholder image and any inherited properties can be resolved by looking at the parent placeholder identified by the Placeholder.parent_object_id field. */ + placeholder?: GoogleSlides.Placeholder; + /** The source URL is the URL used to insert the image. The source URL can be empty. */ + sourceUrl?: string; + }; + /** The properties of the Image. */ + type ImageProperties = { + /** The brightness effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only. */ + brightness?: number; + /** The contrast effect of the image. The value should be in the interval [-1.0, 1.0], where 0 means no effect. This property is read-only. */ + contrast?: number; + /** The crop properties of the image. If not set, the image is not cropped. This property is read-only. */ + cropProperties?: GoogleSlides.CropProperties; + /** The hyperlink destination of the image. If unset, there is no link. */ + link?: GoogleSlides.Link; + /** The outline of the image. If not set, the image has no outline. */ + outline?: GoogleSlides.Outline; + /** The recolor effect of the image. If not set, the image is not recolored. This property is read-only. */ + recolor?: GoogleSlides.Recolor; + /** The shadow of the image. If not set, the image has no shadow. This property is read-only. */ + shadow?: GoogleSlides.Shadow; + /** The transparency effect of the image. The value should be in the interval [0.0, 1.0], where 0 means no effect and 1 means completely transparent. This property is read-only. */ + transparency?: number; + }; + /** Inserts columns into a table. Other columns in the table will be resized to fit the new column. */ + type InsertTableColumnsRequest = { + /** The reference table cell location from which columns will be inserted. A new column will be inserted to the left (or right) of the column where the reference cell is. If the reference cell is a merged cell, a new column will be inserted to the left (or right) of the merged cell. */ + cellLocation?: GoogleSlides.TableCellLocation; + /** Whether to insert new columns to the right of the reference cell location. - `True`: insert to the right. - `False`: insert to the left. */ + insertRight?: boolean; + /** The number of columns to be inserted. Maximum 20 per request. */ + number?: number; + /** The table to insert columns into. */ + tableObjectId?: string; + }; + /** Inserts rows into a table. */ + type InsertTableRowsRequest = { + /** The reference table cell location from which rows will be inserted. A new row will be inserted above (or below) the row where the reference cell is. If the reference cell is a merged cell, a new row will be inserted above (or below) the merged cell. */ + cellLocation?: GoogleSlides.TableCellLocation; + /** Whether to insert new rows below the reference cell location. - `True`: insert below the cell. - `False`: insert above the cell. */ + insertBelow?: boolean; + /** The number of rows to be inserted. Maximum 20 per request. */ + number?: number; + /** The table to insert rows into. */ + tableObjectId?: string; + }; + /** Inserts text into a shape or a table cell. */ + type InsertTextRequest = { + /** The optional table cell location if the text is to be inserted into a table cell. If present, the object_id must refer to a table. */ + cellLocation?: GoogleSlides.TableCellLocation; + /** The index where the text will be inserted, in Unicode code units, based on TextElement indexes. The index is zero-based and is computed from the start of the string. The index may be adjusted to prevent insertions inside Unicode grapheme clusters. In these cases, the text will be inserted immediately after the grapheme cluster. */ + insertionIndex?: number; + /** The object ID of the shape or table where the text will be inserted. */ + objectId?: string; + /** The text to be inserted. Inserting a newline character will implicitly create a new ParagraphMarker at that index. The paragraph style of the new paragraph will be copied from the paragraph at the current insertion index, including lists and bullets. Text styles for inserted text will be determined automatically, generally preserving the styling of neighboring text. In most cases, the text will be added to the TextRun that exists at the insertion index. Some control characters (U+0000-U+0008, U+000C-U+001F) and characters from the Unicode Basic Multilingual Plane Private Use Area (U+E000-U+F8FF) will be stripped out of the inserted text. */ + text?: string; + }; + /** The user-specified ID mapping for a placeholder that will be created on a slide from a specified layout. */ + type LayoutPlaceholderIdMapping = { + /** The placeholder on a layout that will be applied to a slide. Only type and index are needed. For example, a predefined `TITLE_AND_BODY` layout may usually have a TITLE placeholder with index 0 and a BODY placeholder with index 0. */ + layoutPlaceholder?: GoogleSlides.Placeholder; + /** The object ID of the placeholder on a layout that will be applied to a slide. */ + layoutPlaceholderObjectId?: string; + /** A user-supplied object ID for the placeholder identified above that to be created onto a slide. If you specify an ID, it must be unique among all pages and page elements in the presentation. The ID must start with an alphanumeric character or an underscore (matches regex `[a-zA-Z0-9_]`); remaining characters may include those as well as a hyphen or colon (matches regex `[a-zA-Z0-9_-:]`). The length of the ID must not be less than 5 or greater than 50. If you don't specify an ID, a unique one is generated. */ + objectId?: string; + }; + /** The properties of Page are only relevant for pages with page_type LAYOUT. */ + type LayoutProperties = { + /** The human-readable name of the layout. */ + displayName?: string; + /** The object ID of the master that this layout is based on. */ + masterObjectId?: string; + /** The name of the layout. */ + name?: string; + }; + /** Slide layout reference. This may reference either: - A predefined layout - One of the layouts in the presentation. */ + type LayoutReference = { + /** Layout ID: the object ID of one of the layouts in the presentation. */ + layoutId?: string; + /** Predefined layout. */ + predefinedLayout?: "PREDEFINED_LAYOUT_UNSPECIFIED" | "BLANK" | "CAPTION_ONLY" | "TITLE" | "TITLE_AND_BODY" | "TITLE_AND_TWO_COLUMNS" | "TITLE_ONLY" | "SECTION_HEADER" | "SECTION_TITLE_AND_DESCRIPTION" | "ONE_COLUMN_TEXT" | "MAIN_POINT" | "BIG_NUMBER"; + }; + /** A PageElement kind representing a non-connector line, straight connector, curved connector, or bent connector. */ + type Line = { + /** The category of the line. It matches the `category` specified in CreateLineRequest, and can be updated with UpdateLineCategoryRequest. */ + lineCategory?: "LINE_CATEGORY_UNSPECIFIED" | "STRAIGHT" | "BENT" | "CURVED"; + /** The properties of the line. */ + lineProperties?: GoogleSlides.LineProperties; + /** The type of the line. */ + lineType?: "TYPE_UNSPECIFIED" | "STRAIGHT_CONNECTOR_1" | "BENT_CONNECTOR_2" | "BENT_CONNECTOR_3" | "BENT_CONNECTOR_4" | "BENT_CONNECTOR_5" | "CURVED_CONNECTOR_2" | "CURVED_CONNECTOR_3" | "CURVED_CONNECTOR_4" | "CURVED_CONNECTOR_5" | "STRAIGHT_LINE"; + }; + /** The properties for one end of a Line connection. */ + type LineConnection = { + /** The object ID of the connected page element. Some page elements, such as groups, tables, and lines do not have connection sites and therefore cannot be connected to a connector line. */ + connectedObjectId?: string; + /** The index of the connection site on the connected page element. In most cases, it corresponds to the predefined connection site index from the ECMA-376 standard. More information on those connection sites can be found in both the description of the "cxn" attribute in section 20.1.9.9 and "Annex H. Example Predefined DrawingML Shape and Text Geometries" of "Office Open XML File Formats - Fundamentals and Markup Language Reference", part 1 of [ECMA-376 5th edition](https://ecma-international.org/publications-and-standards/standards/ecma-376/). The position of each connection site can also be viewed from Slides editor. */ + connectionSiteIndex?: number; + }; + /** The fill of the line. */ + type LineFill = { + /** Solid color fill. */ + solidFill?: GoogleSlides.SolidFill; + }; + /** The properties of the Line. When unset, these fields default to values that match the appearance of new lines created in the Slides editor. */ + type LineProperties = { + /** The dash style of the line. */ + dashStyle?: "DASH_STYLE_UNSPECIFIED" | "SOLID" | "DOT" | "DASH" | "DASH_DOT" | "LONG_DASH" | "LONG_DASH_DOT"; + /** The style of the arrow at the end of the line. */ + endArrow?: "ARROW_STYLE_UNSPECIFIED" | "NONE" | "STEALTH_ARROW" | "FILL_ARROW" | "FILL_CIRCLE" | "FILL_SQUARE" | "FILL_DIAMOND" | "OPEN_ARROW" | "OPEN_CIRCLE" | "OPEN_SQUARE" | "OPEN_DIAMOND"; + /** The connection at the end of the line. If unset, there is no connection. Only lines with a Type indicating it is a "connector" can have an `end_connection`. */ + endConnection?: GoogleSlides.LineConnection; + /** The fill of the line. The default line fill matches the defaults for new lines created in the Slides editor. */ + lineFill?: GoogleSlides.LineFill; + /** The hyperlink destination of the line. If unset, there is no link. */ + link?: GoogleSlides.Link; + /** The style of the arrow at the beginning of the line. */ + startArrow?: "ARROW_STYLE_UNSPECIFIED" | "NONE" | "STEALTH_ARROW" | "FILL_ARROW" | "FILL_CIRCLE" | "FILL_SQUARE" | "FILL_DIAMOND" | "OPEN_ARROW" | "OPEN_CIRCLE" | "OPEN_SQUARE" | "OPEN_DIAMOND"; + /** The connection at the beginning of the line. If unset, there is no connection. Only lines with a Type indicating it is a "connector" can have a `start_connection`. */ + startConnection?: GoogleSlides.LineConnection; + /** The thickness of the line. */ + weight?: GoogleSlides.Dimension; + }; + /** A hypertext link. */ + type Link = { + /** If set, indicates this is a link to the specific page in this presentation with this ID. A page with this ID may not exist. */ + pageObjectId?: string; + /** If set, indicates this is a link to a slide in this presentation, addressed by its position. */ + relativeLink?: "RELATIVE_SLIDE_LINK_UNSPECIFIED" | "NEXT_SLIDE" | "PREVIOUS_SLIDE" | "FIRST_SLIDE" | "LAST_SLIDE"; + /** If set, indicates this is a link to the slide at this zero-based index in the presentation. There may not be a slide at this index. */ + slideIndex?: number; + /** If set, indicates this is a link to the external web page at this URL. */ + url?: string; + }; + /** A List describes the look and feel of bullets belonging to paragraphs associated with a list. A paragraph that is part of a list has an implicit reference to that list's ID. */ + type List = { + /** The ID of the list. */ + listId?: string; + /** A map of nesting levels to the properties of bullets at the associated level. A list has at most nine levels of nesting, so the possible values for the keys of this map are 0 through 8, inclusive. */ + nestingLevel?: Record; + }; + /** The properties of Page that are only relevant for pages with page_type MASTER. */ + type MasterProperties = { + /** The human-readable name of the master. */ + displayName?: string; + }; + /** Merges cells in a Table. */ + type MergeTableCellsRequest = { + /** The object ID of the table. */ + objectId?: string; + /** The table range specifying which cells of the table to merge. Any text in the cells being merged will be concatenated and stored in the upper-left ("head") cell of the range. If the range is non-rectangular (which can occur in some cases where the range covers cells that are already merged), a 400 bad request error is returned. */ + tableRange?: GoogleSlides.TableRange; + }; + /** Contains properties describing the look and feel of a list bullet at a given level of nesting. */ + type NestingLevel = { + /** The style of a bullet at this level of nesting. */ + bulletStyle?: GoogleSlides.TextStyle; + }; + /** The properties of Page that are only relevant for pages with page_type NOTES. */ + type NotesProperties = { + /** The object ID of the shape on this notes page that contains the speaker notes for the corresponding slide. The actual shape may not always exist on the notes page. Inserting text using this object ID will automatically create the shape. In this case, the actual shape may have different object ID. The `GetPresentation` or `GetPage` action will always return the latest object ID. */ + speakerNotesObjectId?: string; + }; + /** A themeable solid color value. */ + type OpaqueColor = { + /** An opaque RGB color. */ + rgbColor?: GoogleSlides.RgbColor; + /** An opaque theme color. */ + themeColor?: "THEME_COLOR_TYPE_UNSPECIFIED" | "DARK1" | "LIGHT1" | "DARK2" | "LIGHT2" | "ACCENT1" | "ACCENT2" | "ACCENT3" | "ACCENT4" | "ACCENT5" | "ACCENT6" | "HYPERLINK" | "FOLLOWED_HYPERLINK" | "TEXT1" | "BACKGROUND1" | "TEXT2" | "BACKGROUND2"; + }; + /** A color that can either be fully opaque or fully transparent. */ + type OptionalColor = { + /** If set, this will be used as an opaque color. If unset, this represents a transparent color. */ + opaqueColor?: GoogleSlides.OpaqueColor; + }; + /** The outline of a PageElement. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. */ + type Outline = { + /** The dash style of the outline. */ + dashStyle?: "DASH_STYLE_UNSPECIFIED" | "SOLID" | "DOT" | "DASH" | "DASH_DOT" | "LONG_DASH" | "LONG_DASH_DOT"; + /** The fill of the outline. */ + outlineFill?: GoogleSlides.OutlineFill; + /** The outline property state. Updating the outline on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no outline on a page element, set this field to `NOT_RENDERED`. In this case, any other outline fields set in the same request will be ignored. */ + propertyState?: "RENDERED" | "NOT_RENDERED" | "INHERIT"; + /** The thickness of the outline. */ + weight?: GoogleSlides.Dimension; + }; + /** The fill of the outline. */ + type OutlineFill = { + /** Solid color fill. */ + solidFill?: GoogleSlides.SolidFill; + }; + /** A page in a presentation. */ + type Page = { + /** Layout specific properties. Only set if page_type = LAYOUT. */ + layoutProperties?: GoogleSlides.LayoutProperties; + /** Master specific properties. Only set if page_type = MASTER. */ + masterProperties?: GoogleSlides.MasterProperties; + /** Notes specific properties. Only set if page_type = NOTES. */ + notesProperties?: GoogleSlides.NotesProperties; + /** The object ID for this page. Object IDs used by Page and PageElement share the same namespace. */ + objectId?: string; + /** The page elements rendered on the page. */ + pageElements?: Array; + /** The properties of the page. */ + pageProperties?: GoogleSlides.PageProperties; + /** The type of the page. */ + pageType?: "SLIDE" | "MASTER" | "LAYOUT" | "NOTES" | "NOTES_MASTER"; + /** Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but an opaque string. The format of the revision ID might change over time. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. */ + revisionId?: string; + /** Slide specific properties. Only set if page_type = SLIDE. */ + slideProperties?: GoogleSlides.SlideProperties; + }; + /** The page background fill. */ + type PageBackgroundFill = { + /** The background fill property state. Updating the fill on a page will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a page, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored. */ + propertyState?: "RENDERED" | "NOT_RENDERED" | "INHERIT"; + /** Solid color fill. */ + solidFill?: GoogleSlides.SolidFill; + /** Stretched picture fill. */ + stretchedPictureFill?: GoogleSlides.StretchedPictureFill; + }; + /** A visual element rendered on a page. */ + type PageElement = { + /** The description of the page element. Combined with title to display alt text. The field is not supported for Group elements. */ + description?: string; + /** A collection of page elements joined as a single unit. */ + elementGroup?: GoogleSlides.Group; + /** An image page element. */ + image?: GoogleSlides.Image; + /** A line page element. */ + line?: GoogleSlides.Line; + /** The object ID for this page element. Object IDs used by google.apps.slides.v1.Page and google.apps.slides.v1.PageElement share the same namespace. */ + objectId?: string; + /** A generic shape. */ + shape?: GoogleSlides.Shape; + /** A linked chart embedded from Google Sheets. Unlinked charts are represented as images. */ + sheetsChart?: GoogleSlides.SheetsChart; + /** The size of the page element. */ + size?: GoogleSlides.Size; + /** A Speaker Spotlight. */ + speakerSpotlight?: GoogleSlides.SpeakerSpotlight; + /** A table page element. */ + table?: GoogleSlides.Table; + /** The title of the page element. Combined with description to display alt text. The field is not supported for Group elements. */ + title?: string; + /** The transform of the page element. The visual appearance of the page element is determined by its absolute transform. To compute the absolute transform, preconcatenate a page element's transform with the transforms of all of its parent groups. If the page element is not in a group, its absolute transform is the same as the value in this field. The initial transform for the newly created Group is always the identity transform. */ + transform?: GoogleSlides.AffineTransform; + /** A video page element. */ + video?: GoogleSlides.Video; + /** A word art page element. */ + wordArt?: GoogleSlides.WordArt; + }; + /** Common properties for a page element. Note: When you initially create a PageElement, the API may modify the values of both `size` and `transform`, but the visual size will be unchanged. */ + type PageElementProperties = { + /** The object ID of the page where the element is located. */ + pageObjectId?: string; + /** The size of the element. */ + size?: GoogleSlides.Size; + /** The transform for the element. */ + transform?: GoogleSlides.AffineTransform; + }; + /** The properties of the Page. The page will inherit properties from the parent page. Depending on the page type the hierarchy is defined in either SlideProperties or LayoutProperties. */ + type PageProperties = { + /** The color scheme of the page. If unset, the color scheme is inherited from a parent page. If the page has no parent, the color scheme uses a default Slides color scheme, matching the defaults in the Slides editor. Only the concrete colors of the first 12 ThemeColorTypes are editable. In addition, only the color scheme on `Master` pages can be updated. To update the field, a color scheme containing mappings from all the first 12 ThemeColorTypes to their concrete colors must be provided. Colors for the remaining ThemeColorTypes will be ignored. */ + colorScheme?: GoogleSlides.ColorScheme; + /** The background fill of the page. If unset, the background fill is inherited from a parent page if it exists. If the page has no parent, then the background fill defaults to the corresponding fill in the Slides editor. */ + pageBackgroundFill?: GoogleSlides.PageBackgroundFill; + }; + /** A TextElement kind that represents the beginning of a new paragraph. */ + type ParagraphMarker = { + /** The bullet for this paragraph. If not present, the paragraph does not belong to a list. */ + bullet?: GoogleSlides.Bullet; + /** The paragraph's style */ + style?: GoogleSlides.ParagraphStyle; + }; + /** Styles that apply to a whole paragraph. If this text is contained in a shape with a parent placeholder, then these paragraph styles may be inherited from the parent. Which paragraph styles are inherited depend on the nesting level of lists: * A paragraph not in a list will inherit its paragraph style from the paragraph at the 0 nesting level of the list inside the parent placeholder. * A paragraph in a list will inherit its paragraph style from the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited paragraph styles are represented as unset fields in this message. */ + type ParagraphStyle = { + /** The text alignment for this paragraph. */ + alignment?: "ALIGNMENT_UNSPECIFIED" | "START" | "CENTER" | "END" | "JUSTIFIED"; + /** The text direction of this paragraph. If unset, the value defaults to LEFT_TO_RIGHT since text direction is not inherited. */ + direction?: "TEXT_DIRECTION_UNSPECIFIED" | "LEFT_TO_RIGHT" | "RIGHT_TO_LEFT"; + /** The amount indentation for the paragraph on the side that corresponds to the end of the text, based on the current text direction. If unset, the value is inherited from the parent. */ + indentEnd?: GoogleSlides.Dimension; + /** The amount of indentation for the start of the first line of the paragraph. If unset, the value is inherited from the parent. */ + indentFirstLine?: GoogleSlides.Dimension; + /** The amount indentation for the paragraph on the side that corresponds to the start of the text, based on the current text direction. If unset, the value is inherited from the parent. */ + indentStart?: GoogleSlides.Dimension; + /** The amount of space between lines, as a percentage of normal, where normal is represented as 100.0. If unset, the value is inherited from the parent. */ + lineSpacing?: number; + /** The amount of extra space above the paragraph. If unset, the value is inherited from the parent. */ + spaceAbove?: GoogleSlides.Dimension; + /** The amount of extra space below the paragraph. If unset, the value is inherited from the parent. */ + spaceBelow?: GoogleSlides.Dimension; + /** The spacing mode for the paragraph. */ + spacingMode?: "SPACING_MODE_UNSPECIFIED" | "NEVER_COLLAPSE" | "COLLAPSE_LISTS"; + }; + /** The placeholder information that uniquely identifies a placeholder shape. */ + type Placeholder = { + /** The index of the placeholder. If the same placeholder types are present in the same page, they would have different index values. */ + index?: number; + /** The object ID of this shape's parent placeholder. If unset, the parent placeholder shape does not exist, so the shape does not inherit properties from any other shape. */ + parentObjectId?: string; + /** The type of the placeholder. */ + type?: "NONE" | "BODY" | "CHART" | "CLIP_ART" | "CENTERED_TITLE" | "DIAGRAM" | "DATE_AND_TIME" | "FOOTER" | "HEADER" | "MEDIA" | "OBJECT" | "PICTURE" | "SLIDE_NUMBER" | "SUBTITLE" | "TABLE" | "TITLE" | "SLIDE_IMAGE"; + }; + /** A Google Slides presentation. */ + type Presentation = { + /** The layouts in the presentation. A layout is a template that determines how content is arranged and styled on the slides that inherit from that layout. */ + layouts?: Array; + /** The locale of the presentation, as an IETF BCP 47 language tag. */ + locale?: string; + /** The slide masters in the presentation. A slide master contains all common page elements and the common properties for a set of layouts. They serve three purposes: - Placeholder shapes on a master contain the default text styles and shape properties of all placeholder shapes on pages that use that master. - The master page properties define the common page properties inherited by its layouts. - Any other shapes on the master slide appear on all slides using that master, regardless of their layout. */ + masters?: Array; + /** The notes master in the presentation. It serves three purposes: - Placeholder shapes on a notes master contain the default text styles and shape properties of all placeholder shapes on notes pages. Specifically, a `SLIDE_IMAGE` placeholder shape contains the slide thumbnail, and a `BODY` placeholder shape contains the speaker notes. - The notes master page properties define the common page properties inherited by all notes pages. - Any other shapes on the notes master appear on all notes pages. The notes master is read-only. */ + notesMaster?: GoogleSlides.Page; + /** The size of pages in the presentation. */ + pageSize?: GoogleSlides.Size; + /** The ID of the presentation. */ + presentationId?: string; + /** Output only. The revision ID of the presentation. Can be used in update requests to assert the presentation revision hasn't changed since the last read operation. Only populated if the user has edit access to the presentation. The revision ID is not a sequential number but a nebulous string. The format of the revision ID may change over time, so it should be treated opaquely. A returned revision ID is only guaranteed to be valid for 24 hours after it has been returned and cannot be shared across users. If the revision ID is unchanged between calls, then the presentation has not changed. Conversely, a changed ID (for the same presentation and user) usually means the presentation has been updated. However, a changed ID can also be due to internal factors such as ID format changes. */ + revisionId?: string; + /** The slides in the presentation. A slide inherits properties from a slide layout. */ + slides?: Array; + /** The title of the presentation. */ + title?: string; + }; + /** Specifies a contiguous range of an indexed collection, such as characters in text. */ + type Range = { + /** The optional zero-based index of the end of the collection. Required for `FIXED_RANGE` ranges. */ + endIndex?: number; + /** The optional zero-based index of the beginning of the collection. Required for `FIXED_RANGE` and `FROM_START_INDEX` ranges. */ + startIndex?: number; + /** The type of range. */ + type?: "RANGE_TYPE_UNSPECIFIED" | "FIXED_RANGE" | "FROM_START_INDEX" | "ALL"; + }; + /** A recolor effect applied on an image. */ + type Recolor = { + /** The name of the recolor effect. The name is determined from the `recolor_stops` by matching the gradient against the colors in the page's current color scheme. This property is read-only. */ + name?: "NONE" | "LIGHT1" | "LIGHT2" | "LIGHT3" | "LIGHT4" | "LIGHT5" | "LIGHT6" | "LIGHT7" | "LIGHT8" | "LIGHT9" | "LIGHT10" | "DARK1" | "DARK2" | "DARK3" | "DARK4" | "DARK5" | "DARK6" | "DARK7" | "DARK8" | "DARK9" | "DARK10" | "GRAYSCALE" | "NEGATIVE" | "SEPIA" | "CUSTOM"; + /** The recolor effect is represented by a gradient, which is a list of color stops. The colors in the gradient will replace the corresponding colors at the same position in the color palette and apply to the image. This property is read-only. */ + recolorStops?: Array; + }; + /** Refreshes an embedded Google Sheets chart by replacing it with the latest version of the chart from Google Sheets. NOTE: Refreshing charts requires at least one of the spreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes. */ + type RefreshSheetsChartRequest = { + /** The object ID of the chart to refresh. */ + objectId?: string; + }; + /** Replaces all shapes that match the given criteria with the provided image. The images replacing the shapes are rectangular after being inserted into the presentation and do not take on the forms of the shapes. */ + type ReplaceAllShapesWithImageRequest = { + /** If set, this request will replace all of the shapes that contain the given text. */ + containsText?: GoogleSlides.SubstringMatchCriteria; + /** The image replace method. If you specify both a `replace_method` and an `image_replace_method`, the `image_replace_method` takes precedence. If you do not specify a value for `image_replace_method`, but specify a value for `replace_method`, then the specified `replace_method` value is used. If you do not specify either, then CENTER_INSIDE is used. */ + imageReplaceMethod?: "IMAGE_REPLACE_METHOD_UNSPECIFIED" | "CENTER_INSIDE" | "CENTER_CROP"; + /** The image URL. The image is fetched once at insertion time and a copy is stored for display inside the presentation. Images must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URL can be at most 2 kB in length. The URL itself is saved with the image, and exposed via the Image.source_url field. */ + imageUrl?: string; + /** If non-empty, limits the matches to page elements only on the given pages. Returns a 400 bad request error if given the page object ID of a notes page or a notes master, or if a page with that object ID doesn't exist in the presentation. */ + pageObjectIds?: Array; + /** The replace method. *Deprecated*: use `image_replace_method` instead. If you specify both a `replace_method` and an `image_replace_method`, the `image_replace_method` takes precedence. */ + replaceMethod?: "CENTER_INSIDE" | "CENTER_CROP"; + }; + /** The result of replacing shapes with an image. */ + type ReplaceAllShapesWithImageResponse = { + /** The number of shapes replaced with images. */ + occurrencesChanged?: number; + }; + /** Replaces all shapes that match the given criteria with the provided Google Sheets chart. The chart will be scaled and centered to fit within the bounds of the original shape. NOTE: Replacing shapes with a chart requires at least one of the spreadsheets.readonly, spreadsheets, drive.readonly, or drive OAuth scopes. */ + type ReplaceAllShapesWithSheetsChartRequest = { + /** The ID of the specific chart in the Google Sheets spreadsheet. */ + chartId?: number; + /** The criteria that the shapes must match in order to be replaced. The request will replace all of the shapes that contain the given text. */ + containsText?: GoogleSlides.SubstringMatchCriteria; + /** The mode with which the chart is linked to the source spreadsheet. When not specified, the chart will be an image that is not linked. */ + linkingMode?: "NOT_LINKED_IMAGE" | "LINKED"; + /** If non-empty, limits the matches to page elements only on the given pages. Returns a 400 bad request error if given the page object ID of a notes page or a notes master, or if a page with that object ID doesn't exist in the presentation. */ + pageObjectIds?: Array; + /** The ID of the Google Sheets spreadsheet that contains the chart. */ + spreadsheetId?: string; + }; + /** The result of replacing shapes with a Google Sheets chart. */ + type ReplaceAllShapesWithSheetsChartResponse = { + /** The number of shapes replaced with charts. */ + occurrencesChanged?: number; + }; + /** Replaces all instances of text matching a criteria with replace text. */ + type ReplaceAllTextRequest = { + /** Finds text in a shape matching this substring. */ + containsText?: GoogleSlides.SubstringMatchCriteria; + /** If non-empty, limits the matches to page elements only on the given pages. Returns a 400 bad request error if given the page object ID of a notes master, or if a page with that object ID doesn't exist in the presentation. */ + pageObjectIds?: Array; + /** The text that will replace the matched text. */ + replaceText?: string; + }; + /** The result of replacing text. */ + type ReplaceAllTextResponse = { + /** The number of occurrences changed by replacing all text. */ + occurrencesChanged?: number; + }; + /** Replaces an existing image with a new image. Replacing an image removes some image effects from the existing image. */ + type ReplaceImageRequest = { + /** The ID of the existing image that will be replaced. The ID can be retrieved from the response of a get request. */ + imageObjectId?: string; + /** The replacement method. */ + imageReplaceMethod?: "IMAGE_REPLACE_METHOD_UNSPECIFIED" | "CENTER_INSIDE" | "CENTER_CROP"; + /** The image URL. The image is fetched once at insertion time and a copy is stored for display inside the presentation. Images must be less than 50MB, cannot exceed 25 megapixels, and must be in PNG, JPEG, or GIF format. The provided URL can't surpass 2 KB in length. The URL is saved with the image, and exposed through the Image.source_url field. */ + url?: string; + }; + /** A single kind of update to apply to a presentation. */ + type Request = { + /** Creates an image. */ + createImage?: GoogleSlides.CreateImageRequest; + /** Creates a line. */ + createLine?: GoogleSlides.CreateLineRequest; + /** Creates bullets for paragraphs. */ + createParagraphBullets?: GoogleSlides.CreateParagraphBulletsRequest; + /** Creates a new shape. */ + createShape?: GoogleSlides.CreateShapeRequest; + /** Creates an embedded Google Sheets chart. */ + createSheetsChart?: GoogleSlides.CreateSheetsChartRequest; + /** Creates a new slide. */ + createSlide?: GoogleSlides.CreateSlideRequest; + /** Creates a new table. */ + createTable?: GoogleSlides.CreateTableRequest; + /** Creates a video. */ + createVideo?: GoogleSlides.CreateVideoRequest; + /** Deletes a page or page element from the presentation. */ + deleteObject?: GoogleSlides.DeleteObjectRequest; + /** Deletes bullets from paragraphs. */ + deleteParagraphBullets?: GoogleSlides.DeleteParagraphBulletsRequest; + /** Deletes a column from a table. */ + deleteTableColumn?: GoogleSlides.DeleteTableColumnRequest; + /** Deletes a row from a table. */ + deleteTableRow?: GoogleSlides.DeleteTableRowRequest; + /** Deletes text from a shape or a table cell. */ + deleteText?: GoogleSlides.DeleteTextRequest; + /** Duplicates a slide or page element. */ + duplicateObject?: GoogleSlides.DuplicateObjectRequest; + /** Groups objects, such as page elements. */ + groupObjects?: GoogleSlides.GroupObjectsRequest; + /** Inserts columns into a table. */ + insertTableColumns?: GoogleSlides.InsertTableColumnsRequest; + /** Inserts rows into a table. */ + insertTableRows?: GoogleSlides.InsertTableRowsRequest; + /** Inserts text into a shape or table cell. */ + insertText?: GoogleSlides.InsertTextRequest; + /** Merges cells in a Table. */ + mergeTableCells?: GoogleSlides.MergeTableCellsRequest; + /** Refreshes a Google Sheets chart. */ + refreshSheetsChart?: GoogleSlides.RefreshSheetsChartRequest; + /** Replaces all shapes matching some criteria with an image. */ + replaceAllShapesWithImage?: GoogleSlides.ReplaceAllShapesWithImageRequest; + /** Replaces all shapes matching some criteria with a Google Sheets chart. */ + replaceAllShapesWithSheetsChart?: GoogleSlides.ReplaceAllShapesWithSheetsChartRequest; + /** Replaces all instances of specified text. */ + replaceAllText?: GoogleSlides.ReplaceAllTextRequest; + /** Replaces an existing image with a new image. */ + replaceImage?: GoogleSlides.ReplaceImageRequest; + /** Reroutes a line such that it's connected at the two closest connection sites on the connected page elements. */ + rerouteLine?: GoogleSlides.RerouteLineRequest; + /** Ungroups objects, such as groups. */ + ungroupObjects?: GoogleSlides.UngroupObjectsRequest; + /** Unmerges cells in a Table. */ + unmergeTableCells?: GoogleSlides.UnmergeTableCellsRequest; + /** Updates the properties of an Image. */ + updateImageProperties?: GoogleSlides.UpdateImagePropertiesRequest; + /** Updates the category of a line. */ + updateLineCategory?: GoogleSlides.UpdateLineCategoryRequest; + /** Updates the properties of a Line. */ + updateLineProperties?: GoogleSlides.UpdateLinePropertiesRequest; + /** Updates the alt text title and/or description of a page element. */ + updatePageElementAltText?: GoogleSlides.UpdatePageElementAltTextRequest; + /** Updates the Z-order of page elements. */ + updatePageElementsZOrder?: GoogleSlides.UpdatePageElementsZOrderRequest; + /** Updates the transform of a page element. */ + updatePageElementTransform?: GoogleSlides.UpdatePageElementTransformRequest; + /** Updates the properties of a Page. */ + updatePageProperties?: GoogleSlides.UpdatePagePropertiesRequest; + /** Updates the styling of paragraphs within a Shape or Table. */ + updateParagraphStyle?: GoogleSlides.UpdateParagraphStyleRequest; + /** Updates the properties of a Shape. */ + updateShapeProperties?: GoogleSlides.UpdateShapePropertiesRequest; + /** Updates the properties of a Slide */ + updateSlideProperties?: GoogleSlides.UpdateSlidePropertiesRequest; + /** Updates the position of a set of slides in the presentation. */ + updateSlidesPosition?: GoogleSlides.UpdateSlidesPositionRequest; + /** Updates the properties of the table borders in a Table. */ + updateTableBorderProperties?: GoogleSlides.UpdateTableBorderPropertiesRequest; + /** Updates the properties of a TableCell. */ + updateTableCellProperties?: GoogleSlides.UpdateTableCellPropertiesRequest; + /** Updates the properties of a Table column. */ + updateTableColumnProperties?: GoogleSlides.UpdateTableColumnPropertiesRequest; + /** Updates the properties of a Table row. */ + updateTableRowProperties?: GoogleSlides.UpdateTableRowPropertiesRequest; + /** Updates the styling of text within a Shape or Table. */ + updateTextStyle?: GoogleSlides.UpdateTextStyleRequest; + /** Updates the properties of a Video. */ + updateVideoProperties?: GoogleSlides.UpdateVideoPropertiesRequest; + }; + /** Reroutes a line such that it's connected at the two closest connection sites on the connected page elements. */ + type RerouteLineRequest = { + /** The object ID of the line to reroute. Only a line with a category indicating it is a "connector" can be rerouted. The start and end connections of the line must be on different page elements. */ + objectId?: string; + }; + /** A single response from an update. */ + type Response = { + /** The result of creating an image. */ + createImage?: GoogleSlides.CreateImageResponse; + /** The result of creating a line. */ + createLine?: GoogleSlides.CreateLineResponse; + /** The result of creating a shape. */ + createShape?: GoogleSlides.CreateShapeResponse; + /** The result of creating a Google Sheets chart. */ + createSheetsChart?: GoogleSlides.CreateSheetsChartResponse; + /** The result of creating a slide. */ + createSlide?: GoogleSlides.CreateSlideResponse; + /** The result of creating a table. */ + createTable?: GoogleSlides.CreateTableResponse; + /** The result of creating a video. */ + createVideo?: GoogleSlides.CreateVideoResponse; + /** The result of duplicating an object. */ + duplicateObject?: GoogleSlides.DuplicateObjectResponse; + /** The result of grouping objects. */ + groupObjects?: GoogleSlides.GroupObjectsResponse; + /** The result of replacing all shapes matching some criteria with an image. */ + replaceAllShapesWithImage?: GoogleSlides.ReplaceAllShapesWithImageResponse; + /** The result of replacing all shapes matching some criteria with a Google Sheets chart. */ + replaceAllShapesWithSheetsChart?: GoogleSlides.ReplaceAllShapesWithSheetsChartResponse; + /** The result of replacing text. */ + replaceAllText?: GoogleSlides.ReplaceAllTextResponse; + }; + /** An RGB color. */ + type RgbColor = { + /** The blue component of the color, from 0.0 to 1.0. */ + blue?: number; + /** The green component of the color, from 0.0 to 1.0. */ + green?: number; + /** The red component of the color, from 0.0 to 1.0. */ + red?: number; + }; + /** The shadow properties of a page element. If these fields are unset, they may be inherited from a parent placeholder if it exists. If there is no parent, the fields will default to the value used for new page elements created in the Slides editor, which may depend on the page element kind. */ + type Shadow = { + /** The alignment point of the shadow, that sets the origin for translate, scale and skew of the shadow. This property is read-only. */ + alignment?: "RECTANGLE_POSITION_UNSPECIFIED" | "TOP_LEFT" | "TOP_CENTER" | "TOP_RIGHT" | "LEFT_CENTER" | "CENTER" | "RIGHT_CENTER" | "BOTTOM_LEFT" | "BOTTOM_CENTER" | "BOTTOM_RIGHT"; + /** The alpha of the shadow's color, from 0.0 to 1.0. */ + alpha?: number; + /** The radius of the shadow blur. The larger the radius, the more diffuse the shadow becomes. */ + blurRadius?: GoogleSlides.Dimension; + /** The shadow color value. */ + color?: GoogleSlides.OpaqueColor; + /** The shadow property state. Updating the shadow on a page element will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no shadow on a page element, set this field to `NOT_RENDERED`. In this case, any other shadow fields set in the same request will be ignored. */ + propertyState?: "RENDERED" | "NOT_RENDERED" | "INHERIT"; + /** Whether the shadow should rotate with the shape. This property is read-only. */ + rotateWithShape?: boolean; + /** Transform that encodes the translate, scale, and skew of the shadow, relative to the alignment position. */ + transform?: GoogleSlides.AffineTransform; + /** The type of the shadow. This property is read-only. */ + type?: "SHADOW_TYPE_UNSPECIFIED" | "OUTER"; + }; + /** A PageElement kind representing a generic shape that doesn't have a more specific classification. For more information, see [Size and position page elements](https://developers.google.com/workspace/slides/api/guides/transform). */ + type Shape = { + /** Placeholders are page elements that inherit from corresponding placeholders on layouts and masters. If set, the shape is a placeholder shape and any inherited properties can be resolved by looking at the parent placeholder identified by the Placeholder.parent_object_id field. */ + placeholder?: GoogleSlides.Placeholder; + /** The properties of the shape. */ + shapeProperties?: GoogleSlides.ShapeProperties; + /** The type of the shape. */ + shapeType?: "TYPE_UNSPECIFIED" | "TEXT_BOX" | "RECTANGLE" | "ROUND_RECTANGLE" | "ELLIPSE" | "ARC" | "BENT_ARROW" | "BENT_UP_ARROW" | "BEVEL" | "BLOCK_ARC" | "BRACE_PAIR" | "BRACKET_PAIR" | "CAN" | "CHEVRON" | "CHORD" | "CLOUD" | "CORNER" | "CUBE" | "CURVED_DOWN_ARROW" | "CURVED_LEFT_ARROW" | "CURVED_RIGHT_ARROW" | "CURVED_UP_ARROW" | "DECAGON" | "DIAGONAL_STRIPE" | "DIAMOND" | "DODECAGON" | "DONUT" | "DOUBLE_WAVE" | "DOWN_ARROW" | "DOWN_ARROW_CALLOUT" | "FOLDED_CORNER" | "FRAME" | "HALF_FRAME" | "HEART" | "HEPTAGON" | "HEXAGON" | "HOME_PLATE" | "HORIZONTAL_SCROLL" | "IRREGULAR_SEAL_1" | "IRREGULAR_SEAL_2" | "LEFT_ARROW" | "LEFT_ARROW_CALLOUT" | "LEFT_BRACE" | "LEFT_BRACKET" | "LEFT_RIGHT_ARROW" | "LEFT_RIGHT_ARROW_CALLOUT" | "LEFT_RIGHT_UP_ARROW" | "LEFT_UP_ARROW" | "LIGHTNING_BOLT" | "MATH_DIVIDE" | "MATH_EQUAL" | "MATH_MINUS" | "MATH_MULTIPLY" | "MATH_NOT_EQUAL" | "MATH_PLUS" | "MOON" | "NO_SMOKING" | "NOTCHED_RIGHT_ARROW" | "OCTAGON" | "PARALLELOGRAM" | "PENTAGON" | "PIE" | "PLAQUE" | "PLUS" | "QUAD_ARROW" | "QUAD_ARROW_CALLOUT" | "RIBBON" | "RIBBON_2" | "RIGHT_ARROW" | "RIGHT_ARROW_CALLOUT" | "RIGHT_BRACE" | "RIGHT_BRACKET" | "ROUND_1_RECTANGLE" | "ROUND_2_DIAGONAL_RECTANGLE" | "ROUND_2_SAME_RECTANGLE" | "RIGHT_TRIANGLE" | "SMILEY_FACE" | "SNIP_1_RECTANGLE" | "SNIP_2_DIAGONAL_RECTANGLE" | "SNIP_2_SAME_RECTANGLE" | "SNIP_ROUND_RECTANGLE" | "STAR_10" | "STAR_12" | "STAR_16" | "STAR_24" | "STAR_32" | "STAR_4" | "STAR_5" | "STAR_6" | "STAR_7" | "STAR_8" | "STRIPED_RIGHT_ARROW" | "SUN" | "TRAPEZOID" | "TRIANGLE" | "UP_ARROW" | "UP_ARROW_CALLOUT" | "UP_DOWN_ARROW" | "UTURN_ARROW" | "VERTICAL_SCROLL" | "WAVE" | "WEDGE_ELLIPSE_CALLOUT" | "WEDGE_RECTANGLE_CALLOUT" | "WEDGE_ROUND_RECTANGLE_CALLOUT" | "FLOW_CHART_ALTERNATE_PROCESS" | "FLOW_CHART_COLLATE" | "FLOW_CHART_CONNECTOR" | "FLOW_CHART_DECISION" | "FLOW_CHART_DELAY" | "FLOW_CHART_DISPLAY" | "FLOW_CHART_DOCUMENT" | "FLOW_CHART_EXTRACT" | "FLOW_CHART_INPUT_OUTPUT" | "FLOW_CHART_INTERNAL_STORAGE" | "FLOW_CHART_MAGNETIC_DISK" | "FLOW_CHART_MAGNETIC_DRUM" | "FLOW_CHART_MAGNETIC_TAPE" | "FLOW_CHART_MANUAL_INPUT" | "FLOW_CHART_MANUAL_OPERATION" | "FLOW_CHART_MERGE" | "FLOW_CHART_MULTIDOCUMENT" | "FLOW_CHART_OFFLINE_STORAGE" | "FLOW_CHART_OFFPAGE_CONNECTOR" | "FLOW_CHART_ONLINE_STORAGE" | "FLOW_CHART_OR" | "FLOW_CHART_PREDEFINED_PROCESS" | "FLOW_CHART_PREPARATION" | "FLOW_CHART_PROCESS" | "FLOW_CHART_PUNCHED_CARD" | "FLOW_CHART_PUNCHED_TAPE" | "FLOW_CHART_SORT" | "FLOW_CHART_SUMMING_JUNCTION" | "FLOW_CHART_TERMINATOR" | "ARROW_EAST" | "ARROW_NORTH_EAST" | "ARROW_NORTH" | "SPEECH" | "STARBURST" | "TEARDROP" | "ELLIPSE_RIBBON" | "ELLIPSE_RIBBON_2" | "CLOUD_CALLOUT" | "CUSTOM"; + /** The text content of the shape. */ + text?: GoogleSlides.TextContent; + }; + /** The shape background fill. */ + type ShapeBackgroundFill = { + /** The background fill property state. Updating the fill on a shape will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a shape, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored. */ + propertyState?: "RENDERED" | "NOT_RENDERED" | "INHERIT"; + /** Solid color fill. */ + solidFill?: GoogleSlides.SolidFill; + }; + /** The properties of a Shape. If the shape is a placeholder shape as determined by the placeholder field, then these properties may be inherited from a parent placeholder shape. Determining the rendered value of the property depends on the corresponding property_state field value. Any text autofit settings on the shape are automatically deactivated by requests that can impact how text fits in the shape. */ + type ShapeProperties = { + /** The autofit properties of the shape. This property is only set for shapes that allow text. */ + autofit?: GoogleSlides.Autofit; + /** The alignment of the content in the shape. If unspecified, the alignment is inherited from a parent placeholder if it exists. If the shape has no parent, the default alignment matches the alignment for new shapes created in the Slides editor. */ + contentAlignment?: "CONTENT_ALIGNMENT_UNSPECIFIED" | "CONTENT_ALIGNMENT_UNSUPPORTED" | "TOP" | "MIDDLE" | "BOTTOM"; + /** The hyperlink destination of the shape. If unset, there is no link. Links are not inherited from parent placeholders. */ + link?: GoogleSlides.Link; + /** The outline of the shape. If unset, the outline is inherited from a parent placeholder if it exists. If the shape has no parent, then the default outline depends on the shape type, matching the defaults for new shapes created in the Slides editor. */ + outline?: GoogleSlides.Outline; + /** The shadow properties of the shape. If unset, the shadow is inherited from a parent placeholder if it exists. If the shape has no parent, then the default shadow matches the defaults for new shapes created in the Slides editor. This property is read-only. */ + shadow?: GoogleSlides.Shadow; + /** The background fill of the shape. If unset, the background fill is inherited from a parent placeholder if it exists. If the shape has no parent, then the default background fill depends on the shape type, matching the defaults for new shapes created in the Slides editor. */ + shapeBackgroundFill?: GoogleSlides.ShapeBackgroundFill; + }; + /** A PageElement kind representing a linked chart embedded from Google Sheets. */ + type SheetsChart = { + /** The ID of the specific chart in the Google Sheets spreadsheet that is embedded. */ + chartId?: number; + /** The URL of an image of the embedded chart, with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the image as the original requester. Access to the image may be lost if the presentation's sharing settings change. */ + contentUrl?: string; + /** The properties of the Sheets chart. */ + sheetsChartProperties?: GoogleSlides.SheetsChartProperties; + /** The ID of the Google Sheets spreadsheet that contains the source chart. */ + spreadsheetId?: string; + }; + /** The properties of the SheetsChart. */ + type SheetsChartProperties = { + /** The properties of the embedded chart image. */ + chartImageProperties?: GoogleSlides.ImageProperties; + }; + /** A width and height. */ + type Size = { + /** The height of the object. */ + height?: GoogleSlides.Dimension; + /** The width of the object. */ + width?: GoogleSlides.Dimension; + }; + /** The properties of Page that are only relevant for pages with page_type SLIDE. */ + type SlideProperties = { + /** Whether the slide is skipped in the presentation mode. Defaults to false. */ + isSkipped?: boolean; + /** The object ID of the layout that this slide is based on. This property is read-only. */ + layoutObjectId?: string; + /** The object ID of the master that this slide is based on. This property is read-only. */ + masterObjectId?: string; + /** The notes page that this slide is associated with. It defines the visual appearance of a notes page when printing or exporting slides with speaker notes. A notes page inherits properties from the notes master. The placeholder shape with type BODY on the notes page contains the speaker notes for this slide. The ID of this shape is identified by the speakerNotesObjectId field. The notes page is read-only except for the text content and styles of the speaker notes shape. This property is read-only. */ + notesPage?: GoogleSlides.Page; + }; + /** A solid color fill. The page or page element is filled entirely with the specified color value. If any field is unset, its value may be inherited from a parent placeholder if it exists. */ + type SolidFill = { + /** The fraction of this `color` that should be applied to the pixel. That is, the final pixel color is defined by the equation: pixel color = alpha * (color) + (1.0 - alpha) * (background color) This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. */ + alpha?: number; + /** The color value of the solid fill. */ + color?: GoogleSlides.OpaqueColor; + }; + /** A PageElement kind representing a Speaker Spotlight. */ + type SpeakerSpotlight = { + /** The properties of the Speaker Spotlight. */ + speakerSpotlightProperties?: GoogleSlides.SpeakerSpotlightProperties; + }; + /** The properties of the SpeakerSpotlight. */ + type SpeakerSpotlightProperties = { + /** The outline of the Speaker Spotlight. If not set, it has no outline. */ + outline?: GoogleSlides.Outline; + /** The shadow of the Speaker Spotlight. If not set, it has no shadow. */ + shadow?: GoogleSlides.Shadow; + }; + /** The stretched picture fill. The page or page element is filled entirely with the specified picture. The picture is stretched to fit its container. */ + type StretchedPictureFill = { + /** Reading the content_url: An URL to a picture with a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the picture as the original requester. Access to the picture may be lost if the presentation's sharing settings change. Writing the content_url: The picture is fetched once at insertion time and a copy is stored for display inside the presentation. Pictures must be less than 50MB in size, cannot exceed 25 megapixels, and must be in one of PNG, JPEG, or GIF format. The provided URL can be at most 2 kB in length. */ + contentUrl?: string; + /** The original size of the picture fill. This field is read-only. */ + size?: GoogleSlides.Size; + }; + /** A criteria that matches a specific string of text in a shape or table. */ + type SubstringMatchCriteria = { + /** Indicates whether the search should respect case: - `True`: the search is case sensitive. - `False`: the search is case insensitive. */ + matchCase?: boolean; + /** Optional. True if the find value should be treated as a regular expression. Any backslashes in the pattern should be escaped. - `True`: the search text is treated as a regular expressions. - `False`: the search text is treated as a substring for matching. */ + searchByRegex?: boolean; + /** The text to search for in the shape or table. */ + text?: string; + }; + /** A PageElement kind representing a table. */ + type Table = { + /** Number of columns in the table. */ + columns?: number; + /** Properties of horizontal cell borders. A table's horizontal cell borders are represented as a grid. The grid has one more row than the number of rows in the table and the same number of columns as the table. For example, if the table is 3 x 3, its horizontal borders will be represented as a grid with 4 rows and 3 columns. */ + horizontalBorderRows?: Array; + /** Number of rows in the table. */ + rows?: number; + /** Properties of each column. */ + tableColumns?: Array; + /** Properties and contents of each row. Cells that span multiple rows are contained in only one of these rows and have a row_span greater than 1. */ + tableRows?: Array; + /** Properties of vertical cell borders. A table's vertical cell borders are represented as a grid. The grid has the same number of rows as the table and one more column than the number of columns in the table. For example, if the table is 3 x 3, its vertical borders will be represented as a grid with 3 rows and 4 columns. */ + verticalBorderRows?: Array; + }; + /** The properties of each border cell. */ + type TableBorderCell = { + /** The location of the border within the border table. */ + location?: GoogleSlides.TableCellLocation; + /** The border properties. */ + tableBorderProperties?: GoogleSlides.TableBorderProperties; + }; + /** The fill of the border. */ + type TableBorderFill = { + /** Solid fill. */ + solidFill?: GoogleSlides.SolidFill; + }; + /** The border styling properties of the TableBorderCell. */ + type TableBorderProperties = { + /** The dash style of the border. */ + dashStyle?: "DASH_STYLE_UNSPECIFIED" | "SOLID" | "DOT" | "DASH" | "DASH_DOT" | "LONG_DASH" | "LONG_DASH_DOT"; + /** The fill of the table border. */ + tableBorderFill?: GoogleSlides.TableBorderFill; + /** The thickness of the border. */ + weight?: GoogleSlides.Dimension; + }; + /** Contents of each border row in a table. */ + type TableBorderRow = { + /** Properties of each border cell. When a border's adjacent table cells are merged, it is not included in the response. */ + tableBorderCells?: Array; + }; + /** Properties and contents of each table cell. */ + type TableCell = { + /** Column span of the cell. */ + columnSpan?: number; + /** The location of the cell within the table. */ + location?: GoogleSlides.TableCellLocation; + /** Row span of the cell. */ + rowSpan?: number; + /** The properties of the table cell. */ + tableCellProperties?: GoogleSlides.TableCellProperties; + /** The text content of the cell. */ + text?: GoogleSlides.TextContent; + }; + /** The table cell background fill. */ + type TableCellBackgroundFill = { + /** The background fill property state. Updating the fill on a table cell will implicitly update this field to `RENDERED`, unless another value is specified in the same request. To have no fill on a table cell, set this field to `NOT_RENDERED`. In this case, any other fill fields set in the same request will be ignored. */ + propertyState?: "RENDERED" | "NOT_RENDERED" | "INHERIT"; + /** Solid color fill. */ + solidFill?: GoogleSlides.SolidFill; + }; + /** A location of a single table cell within a table. */ + type TableCellLocation = { + /** The 0-based column index. */ + columnIndex?: number; + /** The 0-based row index. */ + rowIndex?: number; + }; + /** The properties of the TableCell. */ + type TableCellProperties = { + /** The alignment of the content in the table cell. The default alignment matches the alignment for newly created table cells in the Slides editor. */ + contentAlignment?: "CONTENT_ALIGNMENT_UNSPECIFIED" | "CONTENT_ALIGNMENT_UNSUPPORTED" | "TOP" | "MIDDLE" | "BOTTOM"; + /** The background fill of the table cell. The default fill matches the fill for newly created table cells in the Slides editor. */ + tableCellBackgroundFill?: GoogleSlides.TableCellBackgroundFill; + }; + /** Properties of each column in a table. */ + type TableColumnProperties = { + /** Width of a column. */ + columnWidth?: GoogleSlides.Dimension; + }; + /** A table range represents a reference to a subset of a table. It's important to note that the cells specified by a table range do not necessarily form a rectangle. For example, let's say we have a 3 x 3 table where all the cells of the last row are merged together. The table looks like this: [ ] A table range with location = (0, 0), row span = 3 and column span = 2 specifies the following cells: x x [ x x x ] */ + type TableRange = { + /** The column span of the table range. */ + columnSpan?: number; + /** The starting location of the table range. */ + location?: GoogleSlides.TableCellLocation; + /** The row span of the table range. */ + rowSpan?: number; + }; + /** Properties and contents of each row in a table. */ + type TableRow = { + /** Height of a row. */ + rowHeight?: GoogleSlides.Dimension; + /** Properties and contents of each cell. Cells that span multiple columns are represented only once with a column_span greater than 1. As a result, the length of this collection does not always match the number of columns of the entire table. */ + tableCells?: Array; + /** Properties of the row. */ + tableRowProperties?: GoogleSlides.TableRowProperties; + }; + /** Properties of each row in a table. */ + type TableRowProperties = { + /** Minimum height of the row. The row will be rendered in the Slides editor at a height equal to or greater than this value in order to show all the text in the row's cell(s). */ + minRowHeight?: GoogleSlides.Dimension; + }; + /** The general text content. The text must reside in a compatible shape (e.g. text box or rectangle) or a table cell in a page. */ + type TextContent = { + /** The bulleted lists contained in this text, keyed by list ID. */ + lists?: Record; + /** The text contents broken down into its component parts, including styling information. This property is read-only. */ + textElements?: Array; + }; + /** A TextElement describes the content of a range of indices in the text content of a Shape or TableCell. */ + type TextElement = { + /** A TextElement representing a spot in the text that is dynamically replaced with content that can change over time. */ + autoText?: GoogleSlides.AutoText; + /** The zero-based end index of this text element, exclusive, in Unicode code units. */ + endIndex?: number; + /** A marker representing the beginning of a new paragraph. The `start_index` and `end_index` of this TextElement represent the range of the paragraph. Other TextElements with an index range contained inside this paragraph's range are considered to be part of this paragraph. The range of indices of two separate paragraphs will never overlap. */ + paragraphMarker?: GoogleSlides.ParagraphMarker; + /** The zero-based start index of this text element, in Unicode code units. */ + startIndex?: number; + /** A TextElement representing a run of text where all of the characters in the run have the same TextStyle. The `start_index` and `end_index` of TextRuns will always be fully contained in the index range of a single `paragraph_marker` TextElement. In other words, a TextRun will never span multiple paragraphs. */ + textRun?: GoogleSlides.TextRun; + }; + /** A TextElement kind that represents a run of text that all has the same styling. */ + type TextRun = { + /** The text of this run. */ + content?: string; + /** The styling applied to this run. */ + style?: GoogleSlides.TextStyle; + }; + /** Represents the styling that can be applied to a TextRun. If this text is contained in a shape with a parent placeholder, then these text styles may be inherited from the parent. Which text styles are inherited depend on the nesting level of lists: * A text run in a paragraph that is not in a list will inherit its text style from the the newline character in the paragraph at the 0 nesting level of the list inside the parent placeholder. * A text run in a paragraph that is in a list will inherit its text style from the newline character in the paragraph at its corresponding nesting level of the list inside the parent placeholder. Inherited text styles are represented as unset fields in this message. If text is contained in a shape without a parent placeholder, unsetting these fields will revert the style to a value matching the defaults in the Slides editor. */ + type TextStyle = { + /** The background color of the text. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. */ + backgroundColor?: GoogleSlides.OptionalColor; + /** The text's vertical offset from its normal position. Text with `SUPERSCRIPT` or `SUBSCRIPT` baseline offsets is automatically rendered in a smaller font size, computed based on the `font_size` field. The `font_size` itself is not affected by changes in this field. */ + baselineOffset?: "BASELINE_OFFSET_UNSPECIFIED" | "NONE" | "SUPERSCRIPT" | "SUBSCRIPT"; + /** Whether or not the text is rendered as bold. */ + bold?: boolean; + /** The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. Some fonts can affect the weight of the text. If an update request specifies values for both `font_family` and `bold`, the explicitly-set `bold` value is used. */ + fontFamily?: string; + /** The size of the text's font. When read, the `font_size` will specified in points. */ + fontSize?: GoogleSlides.Dimension; + /** The color of the text itself. If set, the color is either opaque or transparent, depending on if the `opaque_color` field in it is set. */ + foregroundColor?: GoogleSlides.OptionalColor; + /** Whether or not the text is italicized. */ + italic?: boolean; + /** The hyperlink destination of the text. If unset, there is no link. Links are not inherited from parent text. Changing the link in an update request causes some other changes to the text style of the range: * When setting a link, the text foreground color will be set to ThemeColorType.HYPERLINK and the text will be underlined. If these fields are modified in the same request, those values will be used instead of the link defaults. * Setting a link on a text range that overlaps with an existing link will also update the existing link to point to the new URL. * Links are not settable on newline characters. As a result, setting a link on a text range that crosses a paragraph boundary, such as `"ABC\n123"`, will separate the newline character(s) into their own text runs. The link will be applied separately to the runs before and after the newline. * Removing a link will update the text style of the range to match the style of the preceding text (or the default text styles if the preceding text is another link) unless different styles are being set in the same request. */ + link?: GoogleSlides.Link; + /** Whether or not the text is in small capital letters. */ + smallCaps?: boolean; + /** Whether or not the text is struck through. */ + strikethrough?: boolean; + /** Whether or not the text is underlined. */ + underline?: boolean; + /** The font family and rendered weight of the text. This field is an extension of `font_family` meant to support explicit font weights without breaking backwards compatibility. As such, when reading the style of a range of text, the value of `weighted_font_family#font_family` will always be equal to that of `font_family`. However, when writing, if both fields are included in the field mask (either explicitly or through the wildcard `"*"`), their values are reconciled as follows: * If `font_family` is set and `weighted_font_family` is not, the value of `font_family` is applied with weight `400` ("normal"). * If both fields are set, the value of `font_family` must match that of `weighted_font_family#font_family`. If so, the font family and weight of `weighted_font_family` is applied. Otherwise, a 400 bad request error is returned. * If `weighted_font_family` is set and `font_family` is not, the font family and weight of `weighted_font_family` is applied. * If neither field is set, the font family and weight of the text inherit from the parent. Note that these properties cannot inherit separately from each other. If an update request specifies values for both `weighted_font_family` and `bold`, the `weighted_font_family` is applied first, then `bold`. If `weighted_font_family#weight` is not set, it defaults to `400`. If `weighted_font_family` is set, then `weighted_font_family#font_family` must also be set with a non-empty value. Otherwise, a 400 bad request error is returned. */ + weightedFontFamily?: GoogleSlides.WeightedFontFamily; + }; + /** A pair mapping a theme color type to the concrete color it represents. */ + type ThemeColorPair = { + /** The concrete color corresponding to the theme color type above. */ + color?: GoogleSlides.RgbColor; + /** The type of the theme color. */ + type?: "THEME_COLOR_TYPE_UNSPECIFIED" | "DARK1" | "LIGHT1" | "DARK2" | "LIGHT2" | "ACCENT1" | "ACCENT2" | "ACCENT3" | "ACCENT4" | "ACCENT5" | "ACCENT6" | "HYPERLINK" | "FOLLOWED_HYPERLINK" | "TEXT1" | "BACKGROUND1" | "TEXT2" | "BACKGROUND2"; + }; + /** The thumbnail of a page. */ + type Thumbnail = { + /** The content URL of the thumbnail image. The URL to the image has a default lifetime of 30 minutes. This URL is tagged with the account of the requester. Anyone with the URL effectively accesses the image as the original requester. Access to the image may be lost if the presentation's sharing settings change. The mime type of the thumbnail image is the same as specified in the `GetPageThumbnailRequest`. */ + contentUrl?: string; + /** The positive height in pixels of the thumbnail image. */ + height?: number; + /** The positive width in pixels of the thumbnail image. */ + width?: number; + }; + /** Ungroups objects, such as groups. */ + type UngroupObjectsRequest = { + /** The object IDs of the objects to ungroup. Only groups that are not inside other groups can be ungrouped. All the groups should be on the same page. The group itself is deleted. The visual sizes and positions of all the children are preserved. */ + objectIds?: Array; + }; + /** Unmerges cells in a Table. */ + type UnmergeTableCellsRequest = { + /** The object ID of the table. */ + objectId?: string; + /** The table range specifying which cells of the table to unmerge. All merged cells in this range will be unmerged, and cells that are already unmerged will not be affected. If the range has no merged cells, the request will do nothing. If there is text in any of the merged cells, the text will remain in the upper-left ("head") cell of the resulting block of unmerged cells. */ + tableRange?: GoogleSlides.TableRange; + }; + /** Update the properties of an Image. */ + type UpdateImagePropertiesRequest = { + /** The fields that should be updated. At least one field must be specified. The root `imageProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the image outline color, set `fields` to `"outline.outlineFill.solidFill.color"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. */ + fields?: string; + /** The image properties to update. */ + imageProperties?: GoogleSlides.ImageProperties; + /** The object ID of the image the updates are applied to. */ + objectId?: string; + }; + /** Updates the category of a line. */ + type UpdateLineCategoryRequest = { + /** The line category to update to. The exact line type is determined based on the category to update to and how it's routed to connect to other page elements. */ + lineCategory?: "LINE_CATEGORY_UNSPECIFIED" | "STRAIGHT" | "BENT" | "CURVED"; + /** The object ID of the line the update is applied to. Only a line with a category indicating it is a "connector" can be updated. The line may be rerouted after updating its category. */ + objectId?: string; + }; + /** Updates the properties of a Line. */ + type UpdateLinePropertiesRequest = { + /** The fields that should be updated. At least one field must be specified. The root `lineProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the line solid fill color, set `fields` to `"lineFill.solidFill.color"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. */ + fields?: string; + /** The line properties to update. */ + lineProperties?: GoogleSlides.LineProperties; + /** The object ID of the line the update is applied to. */ + objectId?: string; + }; + /** Updates the alt text title and/or description of a page element. */ + type UpdatePageElementAltTextRequest = { + /** The updated alt text description of the page element. If unset the existing value will be maintained. The description is exposed to screen readers and other accessibility interfaces. Only use human readable values related to the content of the page element. */ + description?: string; + /** The object ID of the page element the updates are applied to. */ + objectId?: string; + /** The updated alt text title of the page element. If unset the existing value will be maintained. The title is exposed to screen readers and other accessibility interfaces. Only use human readable values related to the content of the page element. */ + title?: string; + }; + /** Updates the Z-order of page elements. Z-order is an ordering of the elements on the page from back to front. The page element in the front may cover the elements that are behind it. */ + type UpdatePageElementsZOrderRequest = { + /** The Z-order operation to apply on the page elements. When applying the operation on multiple page elements, the relative Z-orders within these page elements before the operation is maintained. */ + operation?: "Z_ORDER_OPERATION_UNSPECIFIED" | "BRING_TO_FRONT" | "BRING_FORWARD" | "SEND_BACKWARD" | "SEND_TO_BACK"; + /** The object IDs of the page elements to update. All the page elements must be on the same page and must not be grouped. */ + pageElementObjectIds?: Array; + }; + /** Updates the transform of a page element. Updating the transform of a group will change the absolute transform of the page elements in that group, which can change their visual appearance. See the documentation for PageElement.transform for more details. */ + type UpdatePageElementTransformRequest = { + /** The apply mode of the transform update. */ + applyMode?: "APPLY_MODE_UNSPECIFIED" | "RELATIVE" | "ABSOLUTE"; + /** The object ID of the page element to update. */ + objectId?: string; + /** The input transform matrix used to update the page element. */ + transform?: GoogleSlides.AffineTransform; + }; + /** Updates the properties of a Page. */ + type UpdatePagePropertiesRequest = { + /** The fields that should be updated. At least one field must be specified. The root `pageProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the page background solid fill color, set `fields` to `"pageBackgroundFill.solidFill.color"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. */ + fields?: string; + /** The object ID of the page the update is applied to. */ + objectId?: string; + /** The page properties to update. */ + pageProperties?: GoogleSlides.PageProperties; + }; + /** Updates the styling for all of the paragraphs within a Shape or Table that overlap with the given text index range. */ + type UpdateParagraphStyleRequest = { + /** The location of the cell in the table containing the paragraph(s) to style. If `object_id` refers to a table, `cell_location` must have a value. Otherwise, it must not. */ + cellLocation?: GoogleSlides.TableCellLocation; + /** The fields that should be updated. At least one field must be specified. The root `style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example, to update the paragraph alignment, set `fields` to `"alignment"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. */ + fields?: string; + /** The object ID of the shape or table with the text to be styled. */ + objectId?: string; + /** The paragraph's style. */ + style?: GoogleSlides.ParagraphStyle; + /** The range of text containing the paragraph(s) to style. */ + textRange?: GoogleSlides.Range; + }; + /** Update the properties of a Shape. */ + type UpdateShapePropertiesRequest = { + /** The fields that should be updated. At least one field must be specified. The root `shapeProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the shape background solid fill color, set `fields` to `"shapeBackgroundFill.solidFill.color"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. */ + fields?: string; + /** The object ID of the shape the updates are applied to. */ + objectId?: string; + /** The shape properties to update. */ + shapeProperties?: GoogleSlides.ShapeProperties; + }; + /** Updates the properties of a Slide. */ + type UpdateSlidePropertiesRequest = { + /** The fields that should be updated. At least one field must be specified. The root 'slideProperties' is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update whether a slide is skipped, set `fields` to `"isSkipped"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. */ + fields?: string; + /** The object ID of the slide the update is applied to. */ + objectId?: string; + /** The slide properties to update. */ + slideProperties?: GoogleSlides.SlideProperties; + }; + /** Updates the position of slides in the presentation. */ + type UpdateSlidesPositionRequest = { + /** The index where the slides should be inserted, based on the slide arrangement before the move takes place. Must be between zero and the number of slides in the presentation, inclusive. */ + insertionIndex?: number; + /** The IDs of the slides in the presentation that should be moved. The slides in this list must be in existing presentation order, without duplicates. */ + slideObjectIds?: Array; + }; + /** Updates the properties of the table borders in a Table. */ + type UpdateTableBorderPropertiesRequest = { + /** The border position in the table range the updates should apply to. If a border position is not specified, the updates will apply to all borders in the table range. */ + borderPosition?: "ALL" | "BOTTOM" | "INNER" | "INNER_HORIZONTAL" | "INNER_VERTICAL" | "LEFT" | "OUTER" | "RIGHT" | "TOP"; + /** The fields that should be updated. At least one field must be specified. The root `tableBorderProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the table border solid fill color, set `fields` to `"tableBorderFill.solidFill.color"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. */ + fields?: string; + /** The object ID of the table. */ + objectId?: string; + /** The table border properties to update. */ + tableBorderProperties?: GoogleSlides.TableBorderProperties; + /** The table range representing the subset of the table to which the updates are applied. If a table range is not specified, the updates will apply to the entire table. */ + tableRange?: GoogleSlides.TableRange; + }; + /** Update the properties of a TableCell. */ + type UpdateTableCellPropertiesRequest = { + /** The fields that should be updated. At least one field must be specified. The root `tableCellProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the table cell background solid fill color, set `fields` to `"tableCellBackgroundFill.solidFill.color"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. */ + fields?: string; + /** The object ID of the table. */ + objectId?: string; + /** The table cell properties to update. */ + tableCellProperties?: GoogleSlides.TableCellProperties; + /** The table range representing the subset of the table to which the updates are applied. If a table range is not specified, the updates will apply to the entire table. */ + tableRange?: GoogleSlides.TableRange; + }; + /** Updates the properties of a Table column. */ + type UpdateTableColumnPropertiesRequest = { + /** The list of zero-based indices specifying which columns to update. If no indices are provided, all columns in the table will be updated. */ + columnIndices?: Array; + /** The fields that should be updated. At least one field must be specified. The root `tableColumnProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the column width, set `fields` to `"column_width"`. If '"column_width"' is included in the field mask but the property is left unset, the column width will default to 406,400 EMU (32 points). */ + fields?: string; + /** The object ID of the table. */ + objectId?: string; + /** The table column properties to update. If the value of `table_column_properties#column_width` in the request is less than 406,400 EMU (32 points), a 400 bad request error is returned. */ + tableColumnProperties?: GoogleSlides.TableColumnProperties; + }; + /** Updates the properties of a Table row. */ + type UpdateTableRowPropertiesRequest = { + /** The fields that should be updated. At least one field must be specified. The root `tableRowProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the minimum row height, set `fields` to `"min_row_height"`. If '"min_row_height"' is included in the field mask but the property is left unset, the minimum row height will default to 0. */ + fields?: string; + /** The object ID of the table. */ + objectId?: string; + /** The list of zero-based indices specifying which rows to update. If no indices are provided, all rows in the table will be updated. */ + rowIndices?: Array; + /** The table row properties to update. */ + tableRowProperties?: GoogleSlides.TableRowProperties; + }; + /** Update the styling of text in a Shape or Table. */ + type UpdateTextStyleRequest = { + /** The location of the cell in the table containing the text to style. If `object_id` refers to a table, `cell_location` must have a value. Otherwise, it must not. */ + cellLocation?: GoogleSlides.TableCellLocation; + /** The fields that should be updated. At least one field must be specified. The root `style` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example, to update the text style to bold, set `fields` to `"bold"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. */ + fields?: string; + /** The object ID of the shape or table with the text to be styled. */ + objectId?: string; + /** The style(s) to set on the text. If the value for a particular style matches that of the parent, that style will be set to inherit. Certain text style changes may cause other changes meant to mirror the behavior of the Slides editor. See the documentation of TextStyle for more information. */ + style?: GoogleSlides.TextStyle; + /** The range of text to style. The range may be extended to include adjacent newlines. If the range fully contains a paragraph belonging to a list, the paragraph's bullet is also updated with the matching text style. */ + textRange?: GoogleSlides.Range; + }; + /** Update the properties of a Video. */ + type UpdateVideoPropertiesRequest = { + /** The fields that should be updated. At least one field must be specified. The root `videoProperties` is implied and should not be specified. A single `"*"` can be used as short-hand for listing every field. For example to update the video outline color, set `fields` to `"outline.outlineFill.solidFill.color"`. To reset a property to its default value, include its field name in the field mask but leave the field itself unset. */ + fields?: string; + /** The object ID of the video the updates are applied to. */ + objectId?: string; + /** The video properties to update. */ + videoProperties?: GoogleSlides.VideoProperties; + }; + /** A PageElement kind representing a video. */ + type Video = { + /** The video source's unique identifier for this video. */ + id?: string; + /** The video source. */ + source?: "SOURCE_UNSPECIFIED" | "YOUTUBE" | "DRIVE"; + /** An URL to a video. The URL is valid as long as the source video exists and sharing settings do not change. */ + url?: string; + /** The properties of the video. */ + videoProperties?: GoogleSlides.VideoProperties; + }; + /** The properties of the Video. */ + type VideoProperties = { + /** Whether to enable video autoplay when the page is displayed in present mode. Defaults to false. */ + autoPlay?: boolean; + /** The time at which to end playback, measured in seconds from the beginning of the video. If set, the end time should be after the start time. If not set or if you set this to a value that exceeds the video's length, the video will be played until its end. */ + end?: number; + /** Whether to mute the audio during video playback. Defaults to false. */ + mute?: boolean; + /** The outline of the video. The default outline matches the defaults for new videos created in the Slides editor. */ + outline?: GoogleSlides.Outline; + /** The time at which to start playback, measured in seconds from the beginning of the video. If set, the start time should be before the end time. If you set this to a value that exceeds the video's length in seconds, the video will be played from the last second. If not set, the video will be played from the beginning. */ + start?: number; + }; + /** Represents a font family and weight used to style a TextRun. */ + type WeightedFontFamily = { + /** The font family of the text. The font family can be any font from the Font menu in Slides or from [Google Fonts] (https://fonts.google.com/). If the font name is unrecognized, the text is rendered in `Arial`. */ + fontFamily?: string; + /** The rendered weight of the text. This field can have any value that is a multiple of `100` between `100` and `900`, inclusive. This range corresponds to the numerical values described in the CSS 2.1 Specification, [section 15.6](https://www.w3.org/TR/CSS21/fonts.html#font-boldness), with non-numerical values disallowed. Weights greater than or equal to `700` are considered bold, and weights less than `700`are not bold. The default value is `400` ("normal"). */ + weight?: number; + }; + /** A PageElement kind representing word art. */ + type WordArt = { + /** The text rendered as word art. */ + renderedText?: string; + }; + /** Provides control over how write requests are executed. */ + type WriteControl = { + /** The revision ID of the presentation required for the write request. If specified and the required revision ID doesn't match the presentation's current revision ID, the request is not processed and returns a 400 bad request error. When a required revision ID is returned in a response, it indicates the revision ID of the document after the request was applied. */ + requiredRevisionId?: string; + }; + type PresentationsBatchUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The presentation to apply the updates to. */ + presentationId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleSlides.BatchUpdatePresentationRequest; + }; + type PresentationsCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleSlides.Presentation; + }; + type PresentationsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The ID of the presentation to retrieve. */ + presentationId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type PresentationsPagesGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The object ID of the page to retrieve. */ + pageObjectId: string; + /** The ID of the presentation to retrieve. */ + presentationId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type PresentationsPagesGetThumbnailParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** The object ID of the page whose thumbnail to retrieve. */ + pageObjectId: string; + /** The ID of the presentation to retrieve. */ + presentationId: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The optional mime type of the thumbnail image. If you don't specify the mime type, the mime type defaults to PNG. */ + "thumbnailProperties.mimeType"?: "PNG"; + /** The optional thumbnail image size. If you don't specify the size, the server chooses a default size of the image. */ + "thumbnailProperties.thumbnailSize"?: "THUMBNAIL_SIZE_UNSPECIFIED" | "LARGE" | "MEDIUM" | "SMALL" | "WIDTH2000_PX"; + }; + type Client = { + presentations: { + /** 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. */ + batchUpdate(params: PresentationsBatchUpdateParams): Promise; + /** 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. */ + create(params?: PresentationsCreateParams): Promise; + /** Gets the latest version of the specified presentation. */ + get(params: PresentationsGetParams): Promise; + pages: { + /** Gets the latest version of the specified page in the presentation. */ + get(params: PresentationsPagesGetParams): Promise; + /** 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](https://developers.google.com/workspace/slides/limits) for quota purposes. */ + getThumbnail(params: PresentationsPagesGetThumbnailParams): Promise; + }; + }; + }; +} +declare namespace GoogleChat { + /** One or more interactive widgets that appear at the bottom of a message. For details, see [Add interactive widgets at the bottom of a message](https://developers.google.com/workspace/chat/create-messages#add-accessory-widgets). */ + type AccessoryWidget = { + /** A list of buttons. */ + buttonList?: GoogleChat.GoogleAppsCardV1ButtonList; + }; + /** An access permission setting. */ + type AccessPermissionSetting = { + /** Optional. Unordered list. Allowed principals for this permission. */ + principals?: Array; + }; + /** Access permission settings for a space. */ + type AccessPermissionSettings = { + /** Optional. Access permission setting for discovering the space. */ + discoverSpaceSetting?: GoogleChat.AccessPermissionSetting; + /** Optional. Access permission setting for joining the space. */ + joinSpaceSetting?: GoogleChat.AccessPermissionSetting; + }; + /** Represents the [access setting](https://support.google.com/chat/answer/11971020) of the space. */ + type AccessSettings = { + /** Optional. Access permission settings for the space. To set the target audience when creating a space, specify the `accessSettings.audience` field in your request. */ + accessPermissionSettings?: GoogleChat.AccessPermissionSettings; + /** Output only. Indicates the access state of the space. */ + accessState?: "ACCESS_STATE_UNSPECIFIED" | "PRIVATE" | "DISCOVERABLE"; + /** Optional. The resource name of the [target audience](https://support.google.com/a/answer/9934697) who can discover the space, join the space, and preview the messages in the space. If unset, only users or Google Groups who have been individually invited or added to the space can access it. For details, see [Make a space discoverable to a target audience](https://developers.google.com/workspace/chat/space-target-audience). Format: `audiences/{audience}` To use the default target audience for the Google Workspace organization, set to `audiences/default`. Reading the target audience supports: - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope. This field is not populated when using the `chat.bot` scope with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). Setting the target audience requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). */ + audience?: string; + }; + /** List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze one day, snooze next week. You might use `action method = snooze()`, passing the snooze type and snooze time in the list of string parameters. */ + type ActionParameter = { + /** The name of the parameter for the action script. */ + key?: string; + /** The value of the parameter. */ + value?: string; + }; + /** Parameters that a Chat app can use to configure how its response is posted. */ + type ActionResponse = { + /** Input only. A response to an interaction event related to a [dialog](https://developers.google.com/workspace/chat/dialogs). Must be accompanied by `ResponseType.Dialog`. */ + dialogAction?: GoogleChat.DialogAction; + /** Input only. The type of Chat app response. */ + type?: "TYPE_UNSPECIFIED" | "NEW_MESSAGE" | "UPDATE_MESSAGE" | "UPDATE_USER_MESSAGE_CARDS" | "REQUEST_CONFIG" | "DIALOG" | "UPDATE_WIDGET"; + /** Input only. The response of the updated widget. */ + updatedWidget?: GoogleChat.UpdatedWidget; + /** Input only. URL for users to authenticate or configure. (Only for `REQUEST_CONFIG` response types.) */ + url?: string; + }; + /** Represents the status for a request to either invoke or submit a [dialog](https://developers.google.com/workspace/chat/dialogs). */ + type ActionStatus = { + /** The status code. */ + statusCode?: "OK" | "CANCELLED" | "UNKNOWN" | "INVALID_ARGUMENT" | "DEADLINE_EXCEEDED" | "NOT_FOUND" | "ALREADY_EXISTS" | "PERMISSION_DENIED" | "UNAUTHENTICATED" | "RESOURCE_EXHAUSTED" | "FAILED_PRECONDITION" | "ABORTED" | "OUT_OF_RANGE" | "UNIMPLEMENTED" | "INTERNAL" | "UNAVAILABLE" | "DATA_LOSS"; + /** The message to send users about the status of their request. If unset, a generic message based on the `status_code` is sent. */ + userFacingMessage?: string; + }; + /** Output only. Annotations can be associated with the plain-text body of the message or with chips that link to Google Workspace resources like Google Docs or Sheets with `start_index` and `length` of 0. To add basic formatting to a text message, see [Format text messages](https://developers.google.com/workspace/chat/format-messages). Example plain-text message body: ``` Hello @FooBot how are you!" ``` The corresponding annotations metadata: ``` "annotations":[{ "type":"USER_MENTION", "startIndex":6, "length":7, "userMention": { "user": { "name":"users/{user}", "displayName":"FooBot", "avatarUrl":"https://goo.gl/aeDtrS", "type":"BOT" }, "type":"MENTION" } }] ``` */ + type Annotation = { + /** The metadata for a custom emoji. */ + customEmojiMetadata?: GoogleChat.CustomEmojiMetadata; + /** Length of the substring in the plain-text message body this annotation corresponds to. If not present, indicates a length of 0. */ + length?: number; + /** The metadata for a rich link. */ + richLinkMetadata?: GoogleChat.RichLinkMetadata; + /** The metadata for a slash command. */ + slashCommand?: GoogleChat.SlashCommandMetadata; + /** Start index (0-based, inclusive) in the plain-text message body this annotation corresponds to. */ + startIndex?: number; + /** The type of this annotation. */ + type?: "ANNOTATION_TYPE_UNSPECIFIED" | "USER_MENTION" | "SLASH_COMMAND" | "RICH_LINK" | "CUSTOM_EMOJI"; + /** The metadata of user mention. */ + userMention?: GoogleChat.UserMentionMetadata; + }; + /** Metadata about a [Chat app command](https://developers.google.com/workspace/chat/commands). */ + type AppCommandMetadata = { + /** The ID for the command specified in the Chat API configuration. */ + appCommandId?: number; + /** The type of Chat app command. */ + appCommandType?: "APP_COMMAND_TYPE_UNSPECIFIED" | "SLASH_COMMAND" | "QUICK_COMMAND" | "MESSAGE_ACTION"; + }; + /** A GIF image that's specified by a URL. */ + type AttachedGif = { + /** Output only. The URL that hosts the GIF image. */ + uri?: string; + }; + /** An attachment in Google Chat. */ + type Attachment = { + /** Optional. A reference to the attachment data. This field is used to create or update messages with attachments, or with the media API to download the attachment data. */ + attachmentDataRef?: GoogleChat.AttachmentDataRef; + /** Output only. The original file name for the content, not the full path. */ + contentName?: string; + /** Output only. The content type (MIME type) of the file. */ + contentType?: string; + /** Output only. The download URL which should be used to allow a human user to download the attachment. Chat apps shouldn't use this URL to download attachment content. */ + downloadUri?: string; + /** Output only. A reference to the Google Drive attachment. This field is used with the Google Drive API. */ + driveDataRef?: GoogleChat.DriveDataRef; + /** Identifier. Resource name of the attachment. Format: `spaces/{space}/messages/{message}/attachments/{attachment}`. */ + name?: string; + /** Output only. The source of the attachment. */ + source?: "SOURCE_UNSPECIFIED" | "DRIVE_FILE" | "UPLOADED_CONTENT"; + /** Output only. The thumbnail URL which should be used to preview the attachment to a human user. Chat apps shouldn't use this URL to download attachment content. */ + thumbnailUri?: string; + }; + /** A reference to the attachment data. */ + type AttachmentDataRef = { + /** Optional. Opaque token containing a reference to an uploaded attachment. Treated by clients as an opaque string and used to create or update Chat messages with attachments. */ + attachmentUploadToken?: string; + /** Optional. The resource name of the attachment data. This field is used with the media API to download the attachment data. */ + resourceName?: string; + }; + /** A target audience in Google Chat. A target audience represents a group of users within a Google Workspace organization, defined by an administrator. Target audiences are used to configure access and visibility settings for resources, such as making a space discoverable to a specific group of users. For more details, see [Target audiences](https://support.google.com/a/answer/9934697) and [Make a space discoverable to a target audience](https://developers.google.com/workspace/chat/space-target-audience). */ + type Audience = { + /** The resource name of the [target audience](https://support.google.com/a/answer/9934697) who can discover or join the space. For details, see [Make a space discoverable to a target audience](https://developers.google.com/workspace/chat/space-target-audience). Format: `audiences/{audience}` To use the default target audience for the Google Workspace organization, set to `audiences/default`. */ + name?: string; + }; + /** Represents a user's current availability information in Google Chat, including their state (for example, Active, Away, Do Not Disturb) and any custom status. */ + type Availability = { + /** Optional. The user's custom status. */ + customStatus?: GoogleChat.CustomStatus; + /** Output only. Metadata if the user state is set to DO_NOT_DISTURB. */ + doNotDisturbMetadata?: GoogleChat.DoNotDisturbMetadata; + /** Identifier. Resource name of the user's availability. Format: `users/{user}/availability` `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user's email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`. */ + name?: string; + /** Output only. The user's current availability state. */ + state?: "STATE_UNSPECIFIED" | "ACTIVE" | "IDLE" | "AWAY" | "DO_NOT_DISTURB"; + }; + /** A button. Can be a text button or an image button. */ + type Button = { + /** A button with image and `onclick` action. */ + imageButton?: GoogleChat.ImageButton; + /** A button with text and `onclick` action. */ + textButton?: GoogleChat.TextButton; + }; + /** Data for Calendar event links. */ + type CalendarEventLinkData = { + /** The [Calendar identifier](https://developers.google.com/workspace/calendar/api/v3/reference/calendars) of the linked Calendar. */ + calendarId?: string; + /** The [Event identifier](https://developers.google.com/workspace/calendar/api/v3/reference/events) of the linked Calendar event. */ + eventId?: string; + }; + /** A card is a UI element that can contain UI widgets such as text and images. */ + type Card = { + /** The actions of this card. */ + cardActions?: Array; + /** The header of the card. A header usually contains a title and an image. */ + header?: GoogleChat.CardHeader; + /** Name of the card. */ + name?: string; + /** Sections are separated by a line divider. */ + sections?: Array; + }; + /** A card action is the action associated with the card. For an invoice card, a typical action would be: delete invoice, email invoice or open the invoice in browser. Not supported by Google Chat apps. */ + type CardAction = { + /** The label used to be displayed in the action menu item. */ + actionLabel?: string; + /** The onclick action for this action item. */ + onClick?: GoogleChat.OnClick; + }; + type CardHeader = { + /** The image's type (for example, square border or circular border). */ + imageStyle?: "IMAGE_STYLE_UNSPECIFIED" | "IMAGE" | "AVATAR"; + /** The URL of the image in the card header. */ + imageUrl?: string; + /** The subtitle of the card header. */ + subtitle?: string; + /** The title must be specified. The header has a fixed height: if both a title and subtitle is specified, each takes up one line. If only the title is specified, it takes up both lines. */ + title?: string; + }; + /** A [card](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards) in a Google Chat message. Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) */ + type CardWithId = { + /** A card. Maximum size is 32 KB. */ + card?: GoogleChat.GoogleAppsCardV1Card; + /** Required if the message contains multiple cards. A unique identifier for a card in a message. */ + cardId?: string; + }; + /** JSON payload of error messages. If the Cloud Logging API is enabled, these error messages are logged to [Google Cloud Logging](https://cloud.google.com/logging/docs). */ + type ChatAppLogEntry = { + /** The deployment that caused the error. For Chat apps built in Apps Script, this is the deployment ID defined by Apps Script. */ + deployment?: string; + /** The unencrypted `callback_method` name that was running when the error was encountered. */ + deploymentFunction?: string; + /** The error code and message. */ + error?: GoogleChat.Status; + }; + /** For a `SelectionInput` widget that uses a multiselect menu, a data source from Google Chat. The data source populates selection items for the multiselect menu. For example, a user can select Google Chat spaces that they're a member of. [Google Chat apps](https://developers.google.com/workspace/chat): */ + type ChatClientDataSourceMarkup = { + /** Google Chat spaces that the user is a member of. */ + spaceDataSource?: GoogleChat.SpaceDataSource; + }; + /** Data for Chat space links. */ + type ChatSpaceLinkData = { + /** The message of the linked Chat space resource. Format: `spaces/{space}/messages/{message}` */ + message?: string; + /** The space of the linked Chat space resource. Format: `spaces/{space}` */ + space?: string; + /** The thread of the linked Chat space resource. Format: `spaces/{space}/threads/{thread}` */ + thread?: string; + }; + /** Represents a color in the RGBA color space. This representation is designed for simplicity of conversion to and from color representations in various languages over compactness. For example, the fields of this representation can be trivially provided to the constructor of `java.awt.Color` in Java; it can also be trivially provided to UIColor's `+colorWithRed:green:blue:alpha` method in iOS; and, with just a little work, it can be easily formatted into a CSS `rgba()` string in JavaScript. This reference page doesn't have information about the absolute color space that should be used to interpret the RGB value—for example, sRGB, Adobe RGB, DCI-P3, and BT.2020. By default, applications should assume the sRGB color space. When color equality needs to be decided, implementations, unless documented otherwise, treat two colors as equal if all their red, green, blue, and alpha values each differ by at most `1e-5`. Example (Java): import com.google.type.Color; // ... public static java.awt.Color fromProto(Color protocolor) { float alpha = protocolor.hasAlpha() ? protocolor.getAlpha().getValue() : 1.0; return new java.awt.Color( protocolor.getRed(), protocolor.getGreen(), protocolor.getBlue(), alpha); } public static Color toProto(java.awt.Color color) { float red = (float) color.getRed(); float green = (float) color.getGreen(); float blue = (float) color.getBlue(); float denominator = 255.0; Color.Builder resultBuilder = Color .newBuilder() .setRed(red / denominator) .setGreen(green / denominator) .setBlue(blue / denominator); int alpha = color.getAlpha(); if (alpha != 255) { result.setAlpha( FloatValue .newBuilder() .setValue(((float) alpha) / denominator) .build()); } return resultBuilder.build(); } // ... Example (iOS / Obj-C): // ... static UIColor* fromProto(Color* protocolor) { float red = [protocolor red]; float green = [protocolor green]; float blue = [protocolor blue]; FloatValue* alpha_wrapper = [protocolor alpha]; float alpha = 1.0; if (alpha_wrapper != nil) { alpha = [alpha_wrapper value]; } return [UIColor colorWithRed:red green:green blue:blue alpha:alpha]; } static Color* toProto(UIColor* color) { CGFloat red, green, blue, alpha; if (![color getRed:&red green:&green blue:&blue alpha:&alpha]) { return nil; } Color* result = [[Color alloc] init]; [result setRed:red]; [result setGreen:green]; [result setBlue:blue]; if (alpha <= 0.9999) { [result setAlpha:floatWrapperWithValue(alpha)]; } [result autorelease]; return result; } // ... Example (JavaScript): // ... var protoToCssColor = function(rgb_color) { var redFrac = rgb_color.red || 0.0; var greenFrac = rgb_color.green || 0.0; var blueFrac = rgb_color.blue || 0.0; var red = Math.floor(redFrac * 255); var green = Math.floor(greenFrac * 255); var blue = Math.floor(blueFrac * 255); if (!('alpha' in rgb_color)) { return rgbToCssColor(red, green, blue); } var alphaFrac = rgb_color.alpha.value || 0.0; var rgbParams = [red, green, blue].join(','); return ['rgba(', rgbParams, ',', alphaFrac, ')'].join(''); }; var rgbToCssColor = function(red, green, blue) { var rgbNumber = new Number((red << 16) | (green << 8) | blue); var hexString = rgbNumber.toString(16); var missingZeros = 6 - hexString.length; var resultBuilder = ['#']; for (var i = 0; i < missingZeros; i++) { resultBuilder.push('0'); } resultBuilder.push(hexString); return resultBuilder.join(''); }; // ... */ + type Color = { + /** The fraction of this color that should be applied to the pixel. That is, the final pixel color is defined by the equation: `pixel color = alpha * (this color) + (1.0 - alpha) * (background color)` This means that a value of 1.0 corresponds to a solid color, whereas a value of 0.0 corresponds to a completely transparent color. This uses a wrapper message rather than a simple float scalar so that it is possible to distinguish between a default value and the value being unset. If omitted, this color object is rendered as a solid color (as if the alpha value had been explicitly given a value of 1.0). */ + alpha?: number; + /** The amount of blue in the color as a value in the interval [0, 1]. */ + blue?: number; + /** The amount of green in the color as a value in the interval [0, 1]. */ + green?: number; + /** The amount of red in the color as a value in the interval [0, 1]. */ + red?: number; + }; + /** The common event object is the portion of the overall event object that carries general, host-independent information to the add-on from the user's client. This information includes details such as the user's locale, host app, and platform. In addition to homepage and contextual triggers, add-ons construct and pass event objects to [action callback functions](https://developers.google.com/workspace/add-ons/concepts/actions#callback_functions) when the user interacts with widgets. Your add-on's callback function can query the common event object to determine the contents of open widgets in the user's client. For example, your add-on can locate the text a user has entered into a [TextInput](https://developers.google.com/apps-script/reference/card-service/text-input) widget in the `eventObject.commentEventObject.formInputs` object. For Chat apps, the name of the function that the user invoked when interacting with a widget. */ + type CommonEventObject = { + /** A map containing the current values of the widgets in the displayed card. The map keys are the string IDs assigned with each widget. The structure of the map value object is dependent on the widget type: **Note**: The following examples are formatted for Apps Script's V8 runtime. If you're using Rhino runtime, you must add `[""]` after the value. For example, instead of `e.commonEventObject.formInputs.employeeName.stringInputs.value[0]`, format the event object as `e.commonEventObject.formInputs.employeeName[""].stringInputs.value[0]`. To learn more about runtimes in Apps Script, see the [V8 Runtime Overview](https://developers.google.com/apps-script/guides/v8-runtime). * Single-valued widgets (for example, a text box): a list of strings (only one element). **Example**: for a text input widget with `employeeName` as its ID, access the text input value with: `e.commonEventObject.formInputs.employeeName.stringInputs.value[0]`. * Multi-valued widgets (for example, checkbox groups): a list of strings. **Example**: for a multi-value widget with `participants` as its ID, access the value array with: `e.commonEventObject.formInputs.participants.stringInputs.value`. * **A date-time picker**: a [`DateTimeInput object`](https://developers.google.com/workspace/add-ons/concepts/event-objects#date-time-input). **Example**: For a picker with an ID of `myDTPicker`, access the [`DateTimeInput`](https://developers.google.com/workspace/add-ons/concepts/event-objects#date-time-input) object using `e.commonEventObject.formInputs.myDTPicker.dateTimeInput`. * **A date-only picker**: a [`DateInput object`](https://developers.google.com/workspace/add-ons/concepts/event-objects#date-input). **Example**: For a picker with an ID of `myDatePicker`, access the [`DateInput`](https://developers.google.com/workspace/add-ons/concepts/event-objects#date-input) object using `e.commonEventObject.formInputs.myDatePicker.dateInput`. * **A time-only picker**: a [`TimeInput object`](https://developers.google.com/workspace/add-ons/concepts/event-objects#time-input). **Example**: For a picker with an ID of `myTimePicker`, access the [`TimeInput`](https://developers.google.com/workspace/add-ons/concepts/event-objects#time-input) object using `e.commonEventObject.formInputs.myTimePicker.timeInput`. */ + formInputs?: Record; + /** Indicates the host app the add-on is active in when the event object is generated. Possible values include the following: * `GMAIL` * `CALENDAR` * `DRIVE` * `DOCS` * `SHEETS` * `SLIDES` * `CHAT` */ + hostApp?: "UNSPECIFIED_HOST_APP" | "GMAIL" | "CALENDAR" | "DRIVE" | "DEMO" | "DOCS" | "MEET" | "SHEETS" | "SLIDES" | "DRAWINGS" | "CHAT"; + /** Name of the function to invoke. This field doesn't populate for Google Workspace Add-ons that extend Google Chat. Instead, to receive function data like identifiers, add-ons that extend Chat should use the `parameters` field. See [Build interactive interfaces for Chat apps](https://developers.google.com/workspace/add-ons/chat/build). */ + invokedFunction?: string; + /** Any additional parameters you supply to an action using [`actionParameters`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#google.apps.card.v1.Action.ActionParameter) or [`Action.setParameters()`](https://developers.google.com/apps-script/reference/card-service/action#setparametersparameters). **Developer Preview:** For [add-ons that extend Google Chat](https://developers.google.com/workspace/add-ons/chat), to suggest items based on what the users type in multiselect menus, use the value of the `"autocomplete_widget_query"` key (`event.commonEventObject.parameters["autocomplete_widget_query"]`). You can use this value to query a database and suggest selectable items to users as they type. For details, see [Collect and process information from Google Chat users](https://developers.google.com/workspace/add-ons/chat/collect-information). */ + parameters?: Record; + /** The platform enum which indicates the platform where the event originates (`WEB`, `IOS`, or `ANDROID`). Not supported by Chat apps. */ + platform?: "UNKNOWN_PLATFORM" | "WEB" | "IOS" | "ANDROID"; + /** **Disabled by default.** The timezone ID and offset from Coordinated Universal Time (UTC). To turn on this field, you must set `addOns.common.useLocaleFromApp` to `true` in your add-on's manifest. Your add-on's scope list must also include `https://www.googleapis.com/auth/script.locale`. See [Accessing user locale and timezone](https://developers.google.com/workspace/add-ons/how-tos/access-user-locale) for more details. Only supported for the event types [`CARD_CLICKED`](https://developers.google.com/chat/api/reference/rest/v1/EventType#ENUM_VALUES.CARD_CLICKED) and [`SUBMIT_DIALOG`](https://developers.google.com/chat/api/reference/rest/v1/DialogEventType#ENUM_VALUES.SUBMIT_DIALOG). */ + timeZone?: GoogleChat.TimeZone; + /** **Disabled by default.** The user's language and country/region identifier in the format of [ISO 639](https://wikipedia.org/wiki/ISO_639_macrolanguage) language code-[ISO 3166](https://wikipedia.org/wiki/ISO_3166) country/region code. For example, `en-US`. To turn on this field, you must set `addOns.common.useLocaleFromApp` to `true` in your add-on's manifest. Your add-on's scope list must also include `https://www.googleapis.com/auth/script.locale`. See [Accessing user locale and timezone](https://developers.google.com/workspace/add-ons/how-tos/access-user-locale) for more details. */ + userLocale?: string; + }; + /** Request message for completing the import process for a space. */ + type CompleteImportSpaceRequest = Record; + /** Response message for completing the import process for a space. */ + type CompleteImportSpaceResponse = { + /** The import mode space. */ + space?: GoogleChat.Space; + }; + /** Represents a [custom emoji](https://support.google.com/chat/answer/12800149). */ + type CustomEmoji = { + /** Optional. Immutable. User-provided name for the custom emoji, which is unique within the organization. Required when the custom emoji is created, output only otherwise. Emoji names must start and end with colons, must be lowercase and can only contain alphanumeric characters, hyphens, and underscores. Hyphens and underscores should be used to separate words and cannot be used consecutively. Example: `:valid-emoji-name:` */ + emojiName?: string; + /** Identifier. The resource name of the custom emoji, assigned by the server. Format: `customEmojis/{customEmoji}` */ + name?: string; + /** Optional. Input only. Payload data. Required when the custom emoji is created. */ + payload?: GoogleChat.CustomEmojiPayload; + /** Output only. A temporary image URL for the custom emoji, valid for at least 10 minutes. Note that this is not populated in the response when the custom emoji is created. */ + temporaryImageUri?: string; + /** Output only. Unique key for the custom emoji resource. */ + uid?: string; + }; + /** Annotation metadata for custom emoji. */ + type CustomEmojiMetadata = { + /** The custom emoji. */ + customEmoji?: GoogleChat.CustomEmoji; + }; + /** Payload data for the custom emoji. */ + type CustomEmojiPayload = { + /** Required. Input only. The image used for the custom emoji. The payload must be under 256 KB and the dimension of the image must be square and between 64 and 500 pixels. The restrictions are subject to change. */ + fileContent?: string; + /** Required. Input only. The image file name. Supported file extensions: `.png`, `.jpg`, `.gif`. */ + filename?: string; + }; + /** Represents a user's custom status in Google Chat. This includes a short text message with an optional emoji that a user sets to give more context about their availability. */ + type CustomStatus = { + /** Required. The emoji of the custom status. Only Unicode emojis are supported; custom emojis are not supported. */ + emoji?: GoogleChat.Emoji; + /** The timestamp when the custom status expires. */ + expireTime?: string; + /** Required. The text of the custom status. This will be a string with maximum length of 64. */ + text?: string; + /** Input only. The time-to-live duration after which the custom status expires. */ + ttl?: string; + }; + /** Date input values. */ + type DateInput = { + /** Time since epoch time, in milliseconds. */ + msSinceEpoch?: string; + }; + /** Date and time input values. */ + type DateTimeInput = { + /** Whether the `datetime` input includes a calendar date. */ + hasDate?: boolean; + /** Whether the `datetime` input includes a timestamp. */ + hasTime?: boolean; + /** Time since epoch time, in milliseconds. */ + msSinceEpoch?: string; + }; + /** Information about a deleted message. A message is deleted when `delete_time` is set. */ + type DeletionMetadata = { + /** Indicates who deleted the message. */ + deletionType?: "DELETION_TYPE_UNSPECIFIED" | "CREATOR" | "SPACE_OWNER" | "ADMIN" | "APP_MESSAGE_EXPIRY" | "CREATOR_VIA_APP" | "SPACE_OWNER_VIA_APP" | "SPACE_MEMBER"; + }; + /** A Google Chat app interaction event that represents and contains data about a user's interaction with a Chat app. To configure your Chat app to receive interaction events, see [Receive and respond to user interactions](https://developers.google.com/workspace/chat/receive-respond-interactions). In addition to receiving events from user interactions, Chat apps can receive events about changes to spaces, such as when a new member is added to a space. To learn about space events, see [Work with events from Google Chat](https://developers.google.com/workspace/chat/events-overview). Note: This event is only used for [Chat interaction events](https://developers.google.com/workspace/chat/receive-respond-interactions). If your Chat app is built as a [Google Workspace add-on](https://developers.google.com/workspace/add-ons/chat/build), see [Chat event objects](https://developers.google.com/workspace/add-ons/concepts/event-objects#chat-event-object) in the add-ons documentation. */ + type DeprecatedEvent = { + /** For `CARD_CLICKED` interaction events, the form action data associated when a user clicks a card or dialog. To learn more, see [Read form data input by users on cards](https://developers.google.com/workspace/chat/read-form-data). */ + action?: GoogleChat.FormAction; + /** Metadata about a Chat app command. */ + appCommandMetadata?: GoogleChat.AppCommandMetadata; + /** Represents information about the user's client, such as locale, host app, and platform. For Chat apps, `CommonEventObject` includes information submitted by users interacting with [dialogs](https://developers.google.com/workspace/chat/dialogs), like data entered on a card. */ + common?: GoogleChat.CommonEventObject; + /** This URL is populated for `MESSAGE`, `ADDED_TO_SPACE`, and `APP_COMMAND` interaction events. After completing an authorization or configuration flow outside of Google Chat, users must be redirected to this URL to signal to Google Chat that the authorization or configuration flow was successful. For more information, see [Connect a Chat app with other services and tools](https://developers.google.com/workspace/chat/connect-web-services-tools). */ + configCompleteRedirectUrl?: string; + /** The type of [dialog](https://developers.google.com/workspace/chat/dialogs) interaction event received. */ + dialogEventType?: "TYPE_UNSPECIFIED" | "REQUEST_DIALOG" | "SUBMIT_DIALOG" | "CANCEL_DIALOG"; + /** The timestamp indicating when the interaction event occurred. */ + eventTime?: string; + /** For `CARD_CLICKED` and `MESSAGE` interaction events, whether the user is interacting with or about to interact with a [dialog](https://developers.google.com/workspace/chat/dialogs). */ + isDialogEvent?: boolean; + /** For `ADDED_TO_SPACE`, `CARD_CLICKED`, and `MESSAGE` interaction events, the message that triggered the interaction event, if applicable. */ + message?: GoogleChat.Message; + /** The space in which the user interacted with the Chat app. */ + space?: GoogleChat.Space; + /** The thread in which the user interacted with the Chat app. This could be in a new thread created by a newly sent message. This field is populated if the interaction event is associated with a specific message or thread. */ + thread?: GoogleChat.Thread; + /** The Chat app-defined key for the thread related to the interaction event. See [`spaces.messages.thread.threadKey`](/chat/api/reference/rest/v1/spaces.messages#Thread.FIELDS.thread_key) for more information. */ + threadKey?: string; + /** A secret value that legacy Chat apps can use to verify if a request is from Google. Google randomly generates the token, and its value remains static. You can obtain, revoke, or regenerate the token from the [Chat API configuration page](https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat) in the Google Cloud Console. Modern Chat apps don't use this field. It is absent from API responses and the [Chat API configuration page](https://console.cloud.google.com/apis/api/chat.googleapis.com/hangouts-chat). */ + token?: string; + /** The [type](/workspace/chat/api/reference/rest/v1/EventType) of user interaction with the Chat app, such as `MESSAGE` or `ADDED_TO_SPACE`. */ + type?: "UNSPECIFIED" | "MESSAGE" | "ADDED_TO_SPACE" | "REMOVED_FROM_SPACE" | "CARD_CLICKED" | "WIDGET_UPDATED" | "APP_COMMAND"; + /** The user that interacted with the Chat app. */ + user?: GoogleChat.User; + }; + /** Wrapper around the card body of the dialog. */ + type Dialog = { + /** Input only. Body of the dialog, which is rendered in a modal. Google Chat apps don't support the following card entities: `DateTimePicker`, `OnChangeAction`. */ + body?: GoogleChat.GoogleAppsCardV1Card; + }; + /** Contains a [dialog](https://developers.google.com/workspace/chat/dialogs) and request status code. */ + type DialogAction = { + /** Input only. Status for a request to either invoke or submit a [dialog](https://developers.google.com/workspace/chat/dialogs). Displays a status and message to users, if necessary. For example, in case of an error or success. */ + actionStatus?: GoogleChat.ActionStatus; + /** Input only. [Dialog](https://developers.google.com/workspace/chat/dialogs) for the request. */ + dialog?: GoogleChat.Dialog; + }; + /** Metadata associated with the `DO_NOT_DISTURB` availability state, specifying when the state is set to expire. */ + type DoNotDisturbMetadata = { + /** Output only. Timestamp until which the user should be marked as DO_NOT_DISTURB. This can be maximum of 1 year in the future. */ + expirationTime?: string; + }; + /** A reference to the data of a drive attachment. */ + type DriveDataRef = { + /** The ID for the drive file. Use with the Drive API. */ + driveFileId?: string; + }; + /** Data for Google Drive links. */ + type DriveLinkData = { + /** A [DriveDataRef](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.attachments#drivedataref) which references a Google Drive file. */ + driveDataRef?: GoogleChat.DriveDataRef; + /** The mime type of the linked Google Drive resource. */ + mimeType?: string; + }; + /** An emoji that is used as a reaction to a message. */ + type Emoji = { + /** A custom emoji. */ + customEmoji?: GoogleChat.CustomEmoji; + /** Optional. A basic emoji represented by a unicode string. */ + unicode?: string; + }; + /** The number of people who reacted to a message with a specific emoji. */ + type EmojiReactionSummary = { + /** Output only. Emoji associated with the reactions. */ + emoji?: GoogleChat.Emoji; + /** Output only. The total number of reactions using the associated emoji. */ + reactionCount?: number; + }; + /** A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } */ + type Empty = Record; + /** A response containing group chat spaces with exactly the calling user and the requested users. */ + type FindGroupChatsResponse = { + /** A token that you can send as `pageToken` to retrieve the next page of results. If empty, there are no subsequent pages. */ + nextPageToken?: string; + /** List of spaces in the requested (or first) page. */ + spaces?: Array; + }; + /** A form action describes the behavior when the form is submitted. For example, you can invoke Apps Script to handle the form. */ + type FormAction = { + /** The method name is used to identify which part of the form triggered the form submission. This information is echoed back to the Chat app as part of the card click event. You can use the same method name for several elements that trigger a common behavior. */ + actionMethodName?: string; + /** List of action parameters. */ + parameters?: Array; + }; + /** Metadata about the source space from which a message was forwarded. */ + type ForwardedMetadata = { + /** Output only. The resource name of the source space. Format: spaces/{space} */ + space?: string; + /** Output only. The display name of the source space or DM at the time of forwarding. For `SPACE`, this is the space name. For `DIRECT_MESSAGE`, this is the other participant's name (e.g., "User A"). For `GROUP_CHAT`, this is a generated name based on members' first names, limited to 5 including the creator (e.g., "User A, User B"). */ + spaceDisplayName?: string; + }; + /** An action that describes the behavior when the form is submitted. For example, you can invoke an Apps Script script to handle the form. If the action is triggered, the form values are sent to the server. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1Action = { + /** Optional. If this is true, then all widgets are considered required by this action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + allWidgetsAreRequired?: boolean; + /** A custom function to invoke when the containing element is clicked or otherwise activated. For example usage, see [Read form data](https://developers.google.com/workspace/chat/read-form-data). */ + function?: string; + /** Optional. Required when opening a [dialog](https://developers.google.com/workspace/chat/dialogs). What to do in response to an interaction with a user, such as a user clicking a button in a card message. If unspecified, the app responds by executing an `action`—like opening a link or running a function—as normal. By specifying an `interaction`, the app can respond in special interactive ways. For example, by setting `interaction` to `OPEN_DIALOG`, the app can open a [dialog](https://developers.google.com/workspace/chat/dialogs). When specified, a loading indicator isn't shown. If specified for an add-on, the entire card is stripped and nothing is shown in the client. [Google Chat apps](https://developers.google.com/workspace/chat): */ + interaction?: "INTERACTION_UNSPECIFIED" | "OPEN_DIALOG"; + /** Specifies the loading indicator that the action displays while making the call to the action. */ + loadIndicator?: "SPINNER" | "NONE"; + /** List of action parameters. */ + parameters?: Array; + /** Indicates whether form values persist after the action. The default value is `false`. If `true`, form values remain after the action is triggered. To let the user make changes while the action is being processed, set [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) to `NONE`. For [card messages](https://developers.google.com/workspace/chat/api/guides/v1/messages/create#create) in Chat apps, you must also set the action's [`ResponseType`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#responsetype) to `UPDATE_MESSAGE` and use the same [`card_id`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages#CardWithId) from the card that contained the action. If `false`, the form values are cleared when the action is triggered. To prevent the user from making changes while the action is being processed, set [`LoadIndicator`](https://developers.google.com/workspace/add-ons/reference/rpc/google.apps.card.v1#loadindicator) to `SPINNER`. */ + persistValues?: boolean; + /** Optional. Fill this list with the names of widgets that this Action needs for a valid submission. If the widgets listed here don't have a value when this Action is invoked, the form submission is aborted. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + requiredWidgets?: Array; + }; + /** List of string parameters to supply when the action method is invoked. For example, consider three snooze buttons: snooze now, snooze one day, or snooze next week. You might use `action method = snooze()`, passing the snooze type and snooze time in the list of string parameters. To learn more, see [`CommonEventObject`](https://developers.google.com/workspace/chat/api/reference/rest/v1/Event#commoneventobject). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1ActionParameter = { + /** The name of the parameter for the action script. */ + key?: string; + /** The value of the parameter. */ + value?: string; + }; + /** The style options for the border of a card or widget, including the border type and color. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1BorderStyle = { + /** The corner radius for the border. */ + cornerRadius?: number; + /** The colors to use when the type is `BORDER_TYPE_STROKE`. To set the stroke color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for stroke color. If specified, this field is ignored. */ + strokeColor?: GoogleChat.Color; + /** The border type. */ + type?: "BORDER_TYPE_UNSPECIFIED" | "NO_BORDER" | "STROKE"; + }; + /** A text, icon, or text and icon button that users can click. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). To make an image a clickable button, specify an `Image` (not an `ImageComponent`) and set an `onClick` action. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1Button = { + /** The alternative text that's used for accessibility. Set descriptive text that lets users know what the button does. For example, if a button opens a hyperlink, you might write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". */ + altText?: string; + /** Optional. The color of the button. If set, the button `type` is set to `FILLED` and the color of `text` and `icon` fields are set to a contrasting color for readability. For example, if the button color is set to blue, any text or icons in the button are set to white. To set the button color, specify a value for the `red`, `green`, and `blue` fields. The value must be a float number between 0 and 1 based on the RGB color value, where `0` (0/255) represents the absence of color and `1` (255/255) represents the maximum intensity of the color. For example, the following sets the color to red at its maximum intensity: ``` "color": { "red": 1, "green": 0, "blue": 0, } ``` The `alpha` field is unavailable for button color. If specified, this field is ignored. */ + color?: GoogleChat.Color; + /** If `true`, the button is displayed in an inactive state and doesn't respond to user actions. */ + disabled?: boolean; + /** An icon displayed inside the button. If both `icon` and `text` are set, then the icon appears before the text. */ + icon?: GoogleChat.GoogleAppsCardV1Icon; + /** Required. The action to perform when a user clicks the button, such as opening a hyperlink or running a custom function. */ + onClick?: GoogleChat.GoogleAppsCardV1OnClick; + /** The text displayed inside the button. */ + text?: string; + /** Optional. The type of a button. If unset, button type defaults to `OUTLINED`. If the `color` field is set, the button type is forced to `FILLED` and any value set for this field is ignored. */ + type?: "TYPE_UNSPECIFIED" | "OUTLINED" | "FILLED" | "FILLED_TONAL" | "BORDERLESS"; + }; + /** A list of buttons layed out horizontally. For an example in Google Chat apps, see [Add a button](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_button). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1ButtonList = { + /** An array of buttons. */ + buttons?: Array; + }; + /** A card interface displayed in a Google Chat message or Google Workspace add-on. Cards support a defined layout, interactive UI elements like buttons, and rich media like images. Use cards to present detailed information, gather information from users, and guide users to take a next step. [Card builder](https://addons.gsuite.google.com/uikit/builder) To learn how to build cards, see the following documentation: * For Google Chat apps, see [Design the components of a card or dialog](https://developers.google.com/workspace/chat/design-components-card-dialog). * For Google Workspace add-ons, see [Card-based interfaces](https://developers.google.com/apps-script/add-ons/concepts/cards). Note: You can add up to 100 widgets per card. If a section's widgets push the total count above 100, that entire section and all following sections are ignored. This limit applies to both card messages and dialogs in Google Chat apps, and to cards in Google Workspace add-ons. **Example: Card message for a Google Chat app** ![Example contact card](https://developers.google.com/workspace/chat/images/card_api_reference.png) To create the sample card message in Google Chat, use the following JSON: ``` { "cardsV2": [ { "cardId": "unique-card-id", "card": { "header": { "title": "Sasha", "subtitle": "Software Engineer", "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "imageType": "CIRCLE", "imageAltText": "Avatar for Sasha" }, "sections": [ { "header": "Contact Info", "collapsible": true, "uncollapsibleWidgetsCount": 1, "widgets": [ { "decoratedText": { "startIcon": { "knownIcon": "EMAIL" }, "text": "sasha@example.com" } }, { "decoratedText": { "startIcon": { "knownIcon": "PERSON" }, "text": "Online" } }, { "decoratedText": { "startIcon": { "knownIcon": "PHONE" }, "text": "+1 (555) 555-1234" } }, { "buttonList": { "buttons": [ { "text": "Share", "onClick": { "openLink": { "url": "https://example.com/share" } } }, { "text": "Edit", "onClick": { "action": { "function": "goToView", "parameters": [ { "key": "viewType", "value": "EDIT" } ] } } } ] } } ] } ] } } ] } ``` */ + type GoogleAppsCardV1Card = { + /** The card's actions. Actions are added to the card's toolbar menu. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): For example, the following JSON constructs a card action menu with `Settings` and `Send Feedback` options: ``` "card_actions": [ { "actionLabel": "Settings", "onClick": { "action": { "functionName": "goToView", "parameters": [ { "key": "viewType", "value": "SETTING" } ], "loadIndicator": "LoadIndicator.SPINNER" } } }, { "actionLabel": "Send Feedback", "onClick": { "openLink": { "url": "https://example.com/feedback" } } } ] ``` */ + cardActions?: Array; + /** In Google Workspace add-ons, sets the display properties of the `peekCardHeader`. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): */ + displayStyle?: "DISPLAY_STYLE_UNSPECIFIED" | "PEEK" | "REPLACE"; + /** The expression data for the card. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + expressionData?: Array; + /** The fixed footer shown at the bottom of this card. Setting `fixedFooter` without specifying a `primaryButton` or a `secondaryButton` causes an error. For Chat apps, you can use fixed footers in [dialogs](https://developers.google.com/workspace/chat/dialogs), but not [card messages](https://developers.google.com/workspace/chat/create-messages#create). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + fixedFooter?: GoogleChat.GoogleAppsCardV1CardFixedFooter; + /** The header of the card. A header usually contains a leading image and a title. Headers always appear at the top of a card. */ + header?: GoogleChat.GoogleAppsCardV1CardHeader; + /** Name of the card. Used as a card identifier in card navigation. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): */ + name?: string; + /** When displaying contextual content, the peek card header acts as a placeholder so that the user can navigate forward between the homepage cards and the contextual cards. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): */ + peekCardHeader?: GoogleChat.GoogleAppsCardV1CardHeader; + /** The divider style between the header, sections and footer. */ + sectionDividerStyle?: "DIVIDER_STYLE_UNSPECIFIED" | "SOLID_DIVIDER" | "NO_DIVIDER"; + /** Contains a collection of widgets. Each section has its own, optional header. Sections are visually separated by a line divider. For an example in Google Chat apps, see [Define a section of a card](https://developers.google.com/workspace/chat/design-components-card-dialog#define_a_section_of_a_card). */ + sections?: Array; + }; + /** A card action is the action associated with the card. For example, an invoice card might include actions such as delete invoice, email invoice, or open the invoice in a browser. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): */ + type GoogleAppsCardV1CardAction = { + /** The label that displays as the action menu item. */ + actionLabel?: string; + /** The `onClick` action for this action item. */ + onClick?: GoogleChat.GoogleAppsCardV1OnClick; + }; + /** A persistent (sticky) footer that that appears at the bottom of the card. Setting `fixedFooter` without specifying a `primaryButton` or a `secondaryButton` causes an error. For Chat apps, you can use fixed footers in [dialogs](https://developers.google.com/workspace/chat/dialogs), but not [card messages](https://developers.google.com/workspace/chat/create-messages#create). For an example in Google Chat apps, see [Add a persistent footer](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_persistent_footer). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1CardFixedFooter = { + /** The primary button of the fixed footer. The button must be a text button with text and color set. */ + primaryButton?: GoogleChat.GoogleAppsCardV1Button; + /** The secondary button of the fixed footer. The button must be a text button with text and color set. If `secondaryButton` is set, you must also set `primaryButton`. */ + secondaryButton?: GoogleChat.GoogleAppsCardV1Button; + }; + /** Represents a card header. For an example in Google Chat apps, see [Add a header](https://developers.google.com/workspace/chat/design-components-card-dialog#add_a_header). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1CardHeader = { + /** The alternative text of this image that's used for accessibility. */ + imageAltText?: string; + /** The shape used to crop the image. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + imageType?: "SQUARE" | "CIRCLE"; + /** The HTTPS URL of the image in the card header. */ + imageUrl?: string; + /** The subtitle of the card header. If specified, appears on its own line below the `title`. */ + subtitle?: string; + /** Required. The title of the card header. The header has a fixed height: if both a title and subtitle are specified, each takes up one line. If only the title is specified, it takes up both lines. */ + title?: string; + }; + /** A carousel, also known as a slider, rotates and displays a list of widgets in a slideshow format, with buttons navigating to the previous or next widget. For example, this is a JSON representation of a carousel that contains three text paragraph widgets. ``` { "carouselCards": [ { "widgets": [ { "textParagraph": { "text": "First text paragraph in carousel", } } ] }, { "widgets": [ { "textParagraph": { "text": "Second text paragraph in carousel", } } ] }, { "widgets": [ { "textParagraph": { "text": "Third text paragraph in carousel", } } ] } ] } ``` [Google Chat apps](https://developers.google.com/workspace/chat): */ + type GoogleAppsCardV1Carousel = { + /** A list of cards included in the carousel. */ + carouselCards?: Array; + }; + /** A card that can be displayed as a carousel item. [Google Chat apps](https://developers.google.com/workspace/chat): */ + type GoogleAppsCardV1CarouselCard = { + /** A list of widgets displayed at the bottom of the carousel card. The widgets are displayed in the order that they are specified. */ + footerWidgets?: Array; + /** A list of widgets displayed in the carousel card. The widgets are displayed in the order that they are specified. */ + widgets?: Array; + }; + /** A text, icon, or text and icon chip that users can click. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1Chip = { + /** The alternative text that's used for accessibility. Set descriptive text that lets users know what the chip does. For example, if a chip opens a hyperlink, write: "Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat". */ + altText?: string; + /** Whether the chip is in an inactive state and ignores user actions. Defaults to `false`. */ + disabled?: boolean; + /** Whether the chip is in an active state and responds to user actions. Defaults to `true`. Deprecated. Use `disabled` instead. */ + enabled?: boolean; + /** The icon image. If both `icon` and `text` are set, then the icon appears before the text. */ + icon?: GoogleChat.GoogleAppsCardV1Icon; + /** The text displayed inside the chip. */ + label?: string; + /** Optional. The action to perform when a user clicks the chip, such as opening a hyperlink or running a custom function. */ + onClick?: GoogleChat.GoogleAppsCardV1OnClick; + }; + /** A list of chips layed out horizontally, which can either scroll horizontally or wrap to the next line. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1ChipList = { + /** An array of chips. */ + chips?: Array; + /** Specified chip list layout. */ + layout?: "LAYOUT_UNSPECIFIED" | "WRAPPED" | "HORIZONTAL_SCROLLABLE"; + }; + /** Represent an expand and collapse control. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1CollapseControl = { + /** Optional. Define a customizable button to collapse the section. Both expand_button and collapse_button field must be set. Only one field set will not take into effect. If this field isn't set, the default button is used. */ + collapseButton?: GoogleChat.GoogleAppsCardV1Button; + /** Optional. Define a customizable button to expand the section. Both expand_button and collapse_button field must be set. Only one field set will not take into effect. If this field isn't set, the default button is used. */ + expandButton?: GoogleChat.GoogleAppsCardV1Button; + /** The horizontal alignment of the expand and collapse button. */ + horizontalAlignment?: "HORIZONTAL_ALIGNMENT_UNSPECIFIED" | "START" | "CENTER" | "END"; + }; + /** A column. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend) */ + type GoogleAppsCardV1Column = { + /** Specifies whether widgets align to the left, right, or center of a column. */ + horizontalAlignment?: "HORIZONTAL_ALIGNMENT_UNSPECIFIED" | "START" | "CENTER" | "END"; + /** Specifies how a column fills the width of the card. */ + horizontalSizeStyle?: "HORIZONTAL_SIZE_STYLE_UNSPECIFIED" | "FILL_AVAILABLE_SPACE" | "FILL_MINIMUM_SPACE"; + /** Specifies whether widgets align to the top, bottom, or center of a column. */ + verticalAlignment?: "VERTICAL_ALIGNMENT_UNSPECIFIED" | "CENTER" | "TOP" | "BOTTOM"; + /** An array of widgets included in a column. Widgets appear in the order that they are specified. */ + widgets?: Array; + }; + /** The `Columns` widget displays up to 2 columns in a card or dialog. You can add widgets to each column; the widgets appear in the order that they are specified. For an example in Google Chat apps, see [Display cards and dialogs in columns](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_cards_and_dialogs_in_columns). The height of each column is determined by the taller column. For example, if the first column is taller than the second column, both columns have the height of the first column. Because each column can contain a different number of widgets, you can't define rows or align widgets between the columns. Columns are displayed side-by-side. You can customize the width of each column using the `HorizontalSizeStyle` field. If the user's screen width is too narrow, the second column wraps below the first: * On web, the second column wraps if the screen width is less than or equal to 480 pixels. * On iOS devices, the second column wraps if the screen width is less than or equal to 300 pt. * On Android devices, the second column wraps if the screen width is less than or equal to 320 dp. To include more than two columns, or to use rows, use the `Grid` widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): The add-on UIs that support columns include: * The dialog displayed when users open the add-on from an email draft. * The dialog displayed when users open the add-on from the **Add attachment** menu in a Google Calendar event. */ + type GoogleAppsCardV1Columns = { + /** An array of columns. You can include up to 2 columns in a card or dialog. */ + columnItems?: Array; + }; + /** Represents an action that is not specific to a widget. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + type GoogleAppsCardV1CommonWidgetAction = { + /** The action to update the visibility of a widget. */ + updateVisibilityAction?: GoogleChat.GoogleAppsCardV1UpdateVisibilityAction; + }; + /** Represents a condition that can be used to trigger an action. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + type GoogleAppsCardV1Condition = { + /** The unique identifier of the ActionRule. */ + actionRuleId?: string; + /** The condition that is determined by the expression data. */ + expressionDataCondition?: GoogleChat.GoogleAppsCardV1ExpressionDataCondition; + }; + /** A configuration object that helps configure the data sources for a widget. Available for Google Chat apps and Google Workspace add-ons that extend Google Workspace Studio. */ + type GoogleAppsCardV1DataSourceConfig = { + /** The minimum number of characters the user must enter before this data provider is triggered (i.e., before it starts returning results). */ + minCharactersTrigger?: number; + /** The data is from a Google Workspace application. */ + platformDataSource?: GoogleChat.GoogleAppsCardV1PlatformDataSource; + /** The data is from a remote data provider. */ + remoteDataSource?: GoogleChat.GoogleAppsCardV1Action; + }; + /** Lets users input a date, a time, or both a date and a time. Supports form submission validation. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For an example in Google Chat apps, see [Let a user pick a date and time](https://developers.google.com/workspace/chat/design-interactive-card-dialog#let_a_user_pick_a_date_and_time). Users can input text or use the picker to select dates and times. If users input an invalid date or time, the picker shows an error that prompts users to input the information correctly. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1DateTimePicker = { + /** A data source that's unique to a Google Workspace host application, such as Gmail emails, Google Calendar events, or Google Chat messages. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + hostAppDataSource?: GoogleChat.HostAppDataSourceMarkup; + /** The text that prompts users to input a date, a time, or a date and time. For example, if users are scheduling an appointment, use a label such as `Appointment date` or `Appointment date and time`. */ + label?: string; + /** The name by which the `DateTimePicker` is identified in a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). */ + name?: string; + /** Triggered when the user clicks **Save** or **Clear** from the `DateTimePicker` interface. */ + onChangeAction?: GoogleChat.GoogleAppsCardV1Action; + /** The number representing the time zone offset from UTC, in minutes. If set, the `value_ms_epoch` is displayed in the specified time zone. If unset, the value defaults to the user's time zone setting. */ + timezoneOffsetDate?: number; + /** Whether the widget supports inputting a date, a time, or the date and time. */ + type?: "DATE_AND_TIME" | "DATE_ONLY" | "TIME_ONLY"; + /** The default value displayed in the widget, in milliseconds since [Unix epoch time](https://en.wikipedia.org/wiki/Unix_time). Specify the value based on the type of picker (`DateTimePickerType`): * `DATE_AND_TIME`: a calendar date and time in UTC. For example, to represent January 1, 2023 at 12:00 PM UTC, use `1672574400000`. * `DATE_ONLY`: a calendar date at 00:00:00 UTC. For example, to represent January 1, 2023, use `1672531200000`. * `TIME_ONLY`: a time in UTC. For example, to represent 12:00 PM, use `43200000` (or `12 * 60 * 60 * 1000`). */ + valueMsEpoch?: string; + }; + /** A widget that displays text with optional decorations such as a label above or below the text, an icon in front of the text, a selection widget, or a button after the text. For an example in Google Chat apps, see [Display text with decorative text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#display_text_with_decorative_elements). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1DecoratedText = { + /** The text that appears below `text`. Always wraps. */ + bottomLabel?: string; + /** `TextParagraph` equivalent of `bottom_label`. Always wraps. Allows for more complex formatting than `bottom_label`. [Google Chat apps](https://developers.google.com/workspace/chat): */ + bottomLabelText?: GoogleChat.GoogleAppsCardV1TextParagraph; + /** A button that a user can click to trigger an action. */ + button?: GoogleChat.GoogleAppsCardV1Button; + /** `TextParagraph` equivalent of `text`. Allows for more complex formatting than `text`. [Google Chat apps](https://developers.google.com/workspace/chat): */ + contentText?: GoogleChat.GoogleAppsCardV1TextParagraph; + /** An icon displayed after the text. Supports [built-in](https://developers.google.com/workspace/chat/format-messages#builtinicons) and [custom](https://developers.google.com/workspace/chat/format-messages#customicons) icons. */ + endIcon?: GoogleChat.GoogleAppsCardV1Icon; + /** Deprecated in favor of `startIcon`. */ + icon?: GoogleChat.GoogleAppsCardV1Icon; + /** This action is triggered when users click `topLabel` or `bottomLabel`. */ + onClick?: GoogleChat.GoogleAppsCardV1OnClick; + /** The icon displayed in front of the text. */ + startIcon?: GoogleChat.GoogleAppsCardV1Icon; + /** Optional. Vertical alignment of the start icon. If not set, the icon will be vertically centered. [Google Chat apps](https://developers.google.com/workspace/chat): */ + startIconVerticalAlignment?: "VERTICAL_ALIGNMENT_UNSPECIFIED" | "TOP" | "MIDDLE" | "BOTTOM"; + /** A switch widget that a user can click to change its state and trigger an action. */ + switchControl?: GoogleChat.GoogleAppsCardV1SwitchControl; + /** Required. The primary text. Supports simple formatting. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). */ + text?: string; + /** The text that appears above `text`. Always truncates. */ + topLabel?: string; + /** `TextParagraph` equivalent of `top_label`. Always truncates. Allows for more complex formatting than `top_label`. [Google Chat apps](https://developers.google.com/workspace/chat): */ + topLabelText?: GoogleChat.GoogleAppsCardV1TextParagraph; + /** The wrap text setting. If `true`, the text wraps and displays on multiple lines. Otherwise, the text is truncated. Only applies to `text`, not `topLabel` and `bottomLabel`. */ + wrapText?: boolean; + }; + /** Displays a divider between widgets as a horizontal line. For an example in Google Chat apps, see [Add a horizontal divider between widgets](https://developers.google.com/workspace/chat/format-structure-card-dialog#add_a_horizontal_divider_between_widgets). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a divider: ``` "divider": {} ``` */ + type GoogleAppsCardV1Divider = Record; + /** Represents an actionthat can be performed on an ui element. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + type GoogleAppsCardV1EventAction = { + /** The unique identifier of the ActionRule. */ + actionRuleId?: string; + /** Common widget action. */ + commonWidgetAction?: GoogleChat.GoogleAppsCardV1CommonWidgetAction; + /** The list of triggers that will be triggered after the EventAction is executed. */ + postEventTriggers?: Array; + }; + /** Represents the data that is used to evaluate an expression. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + type GoogleAppsCardV1ExpressionData = { + /** The list of conditions that are determined by the expression evaluation result. */ + conditions?: Array; + /** The list of actions that the ExpressionData can be used. */ + eventActions?: Array; + /** The uncompiled expression. */ + expression?: string; + /** The unique identifier of the ExpressionData. */ + id?: string; + }; + /** Represents a condition that is evaluated using CEL. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + type GoogleAppsCardV1ExpressionDataCondition = { + /** The type of the condition. */ + conditionType?: "CONDITION_TYPE_UNSPECIFIED" | "EXPRESSION_EVALUATION_SUCCESS" | "EXPRESSION_EVALUATION_FAILURE"; + }; + /** Displays a grid with a collection of items. Items can only include text or images. For responsive columns, or to include more than text or images, use `Columns`. For an example in Google Chat apps, see [Display a Grid with a collection of items](https://developers.google.com/workspace/chat/format-structure-card-dialog#display_a_grid_with_a_collection_of_items). A grid supports any number of columns and items. The number of rows is determined by items divided by columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` */ + type GoogleAppsCardV1Grid = { + /** The border style to apply to each grid item. */ + borderStyle?: GoogleChat.GoogleAppsCardV1BorderStyle; + /** The number of columns to display in the grid. A default value is used if this field isn't specified, and that default value is different depending on where the grid is shown (dialog versus companion). */ + columnCount?: number; + /** The items to display in the grid. */ + items?: Array; + /** This callback is reused by each individual grid item, but with the item's identifier and index in the items list added to the callback's parameters. */ + onClick?: GoogleChat.GoogleAppsCardV1OnClick; + /** The text that displays in the grid header. */ + title?: string; + }; + /** Represents an item in a grid layout. Items can contain text, an image, or both text and an image. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1GridItem = { + /** A user-specified identifier for this grid item. This identifier is returned in the parent grid's `onClick` callback parameters. */ + id?: string; + /** The image that displays in the grid item. */ + image?: GoogleChat.GoogleAppsCardV1ImageComponent; + /** The layout to use for the grid item. */ + layout?: "GRID_ITEM_LAYOUT_UNSPECIFIED" | "TEXT_BELOW" | "TEXT_ABOVE"; + /** The grid item's subtitle. */ + subtitle?: string; + /** The grid item's title. */ + title?: string; + }; + /** An icon displayed in a widget on a card. For an example in Google Chat apps, see [Add an icon](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_an_icon). Supports [built-in](https://developers.google.com/workspace/chat/format-messages#builtinicons) and [custom](https://developers.google.com/workspace/chat/format-messages#customicons) icons. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1Icon = { + /** Optional. A description of the icon used for accessibility. If unspecified, the default value `Button` is provided. As a best practice, you should set a helpful description for what the icon displays, and if applicable, what it does. For example, `A user's account portrait`, or `Opens a new browser tab and navigates to the Google Chat developer documentation at https://developers.google.com/workspace/chat`. If the icon is set in a `Button`, the `altText` appears as helper text when the user hovers over the button. However, if the button also sets `text`, the icon's `altText` is ignored. */ + altText?: string; + /** Display a custom icon hosted at an HTTPS URL. For example: ``` "iconUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png" ``` Supported file types include `.png` and `.jpg`. */ + iconUrl?: string; + /** The crop style applied to the image. In some cases, applying a `CIRCLE` crop causes the image to be drawn larger than a built-in icon. */ + imageType?: "SQUARE" | "CIRCLE"; + /** Display one of the built-in icons provided by Google Workspace. For example, to display an airplane icon, specify `AIRPLANE`. For a bus, specify `BUS`. For a full list of supported icons, see [built-in icons](https://developers.google.com/workspace/chat/format-messages#builtinicons). */ + knownIcon?: string; + /** Display one of the [Google Material Icons](https://fonts.google.com/icons). For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048), use ``` "material_icon": { "name": "check_box" } ``` [Google Chat apps](https://developers.google.com/workspace/chat): */ + materialIcon?: GoogleChat.GoogleAppsCardV1MaterialIcon; + }; + /** An image that is specified by a URL and can have an `onClick` action. For an example, see [Add an image](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_an_image). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1Image = { + /** The alternative text of this image that's used for accessibility. */ + altText?: string; + /** The HTTPS URL that hosts the image. For example: ``` https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png ``` */ + imageUrl?: string; + /** When a user clicks the image, the click triggers this action. */ + onClick?: GoogleChat.GoogleAppsCardV1OnClick; + }; + /** Represents an image. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1ImageComponent = { + /** The accessibility label for the image. */ + altText?: string; + /** The border style to apply to the image. */ + borderStyle?: GoogleChat.GoogleAppsCardV1BorderStyle; + /** The crop style to apply to the image. */ + cropStyle?: GoogleChat.GoogleAppsCardV1ImageCropStyle; + /** The image URL. */ + imageUri?: string; + }; + /** Represents the crop style applied to an image. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, here's how to apply a 16:9 aspect ratio: ``` cropStyle { "type": "RECTANGLE_CUSTOM", "aspectRatio": 16/9 } ``` */ + type GoogleAppsCardV1ImageCropStyle = { + /** The aspect ratio to use if the crop type is `RECTANGLE_CUSTOM`. For example, here's how to apply a 16:9 aspect ratio: ``` cropStyle { "type": "RECTANGLE_CUSTOM", "aspectRatio": 16/9 } ``` */ + aspectRatio?: number; + /** The crop type. */ + type?: "IMAGE_CROP_TYPE_UNSPECIFIED" | "SQUARE" | "CIRCLE" | "RECTANGLE_CUSTOM" | "RECTANGLE_4_3"; + }; + /** A [Google Material Icon](https://fonts.google.com/icons), which includes over 2500+ options. For example, to display a [checkbox icon](https://fonts.google.com/icons?selected=Material%20Symbols%20Outlined%3Acheck_box%3AFILL%400%3Bwght%40400%3BGRAD%400%3Bopsz%4048) with customized weight and grade, write the following: ``` { "name": "check_box", "fill": true, "weight": 300, "grade": -25 } ``` [Google Chat apps](https://developers.google.com/workspace/chat): */ + type GoogleAppsCardV1MaterialIcon = { + /** Whether the icon renders as filled. Default value is false. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. */ + fill?: boolean; + /** Weight and grade affect a symbol’s thickness. Adjustments to grade are more granular than adjustments to weight and have a small impact on the size of the symbol. Choose from {-25, 0, 200}. If absent, default value is 0. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. */ + grade?: number; + /** The icon name defined in the [Google Material Icon](https://fonts.google.com/icons), for example, `check_box`. Any invalid names are abandoned and replaced with empty string and results in the icon failing to render. */ + name?: string; + /** The stroke weight of the icon. Choose from {100, 200, 300, 400, 500, 600, 700}. If absent, default value is 400. If any other value is specified, the default value is used. To preview different icon settings, go to [Google Font Icons](https://fonts.google.com/icons) and adjust the settings under **Customize**. */ + weight?: number; + }; + /** A list of widgets that can be displayed in a containing layout, such as a `CarouselCard`. [Google Chat apps](https://developers.google.com/workspace/chat): */ + type GoogleAppsCardV1NestedWidget = { + /** A button list widget. */ + buttonList?: GoogleChat.GoogleAppsCardV1ButtonList; + /** An image widget. */ + image?: GoogleChat.GoogleAppsCardV1Image; + /** A text paragraph widget. */ + textParagraph?: GoogleChat.GoogleAppsCardV1TextParagraph; + }; + /** Represents how to respond when users click an interactive element on a card, such as a button. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1OnClick = { + /** If specified, an action is triggered by this `onClick`. */ + action?: GoogleChat.GoogleAppsCardV1Action; + /** A new card is pushed to the card stack after clicking if specified. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): */ + card?: GoogleChat.GoogleAppsCardV1Card; + /** An add-on triggers this action when the action needs to open a link. This differs from the `open_link` above in that this needs to talk to server to get the link. Thus some preparation work is required for web client to do before the open link action response comes back. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): */ + openDynamicLinkAction?: GoogleChat.GoogleAppsCardV1Action; + /** If specified, this `onClick` triggers an open link action. */ + openLink?: GoogleChat.GoogleAppsCardV1OpenLink; + /** If specified, this `onClick` opens an overflow menu. */ + overflowMenu?: GoogleChat.GoogleAppsCardV1OverflowMenu; + }; + /** Represents an `onClick` event that opens a hyperlink. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1OpenLink = { + /** Whether the client forgets about a link after opening it, or observes it until the window closes. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): */ + onClose?: "NOTHING" | "RELOAD"; + /** How to open a link. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): */ + openAs?: "FULL_SIZE" | "OVERLAY"; + /** The URL to open. HTTP URLs are converted to HTTPS. */ + url?: string; + }; + /** A widget that presents a pop-up menu with one or more actions that users can invoke. For example, showing non-primary actions in a card. You can use this widget when actions don't fit in the available space. To use, specify this widget in the `OnClick` action of widgets that support it. For example, in a `Button`. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1OverflowMenu = { + /** Required. The list of menu options. */ + items?: Array; + }; + /** An option that users can invoke in an overflow menu. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1OverflowMenuItem = { + /** Whether the menu option is disabled. Defaults to false. */ + disabled?: boolean; + /** Required. The action invoked when a menu option is selected. This `OnClick` cannot contain an `OverflowMenu`, any specified `OverflowMenu` is dropped and the menu item disabled. */ + onClick?: GoogleChat.GoogleAppsCardV1OnClick; + /** The icon displayed in front of the text. */ + startIcon?: GoogleChat.GoogleAppsCardV1Icon; + /** Required. The text that identifies or describes the item to users. */ + text?: string; + }; + /** For a `SelectionInput` widget that uses a multiselect menu, a data source from Google Workspace. Used to populate items in a multiselect menu. [Google Chat apps](https://developers.google.com/workspace/chat): */ + type GoogleAppsCardV1PlatformDataSource = { + /** A data source shared by all Google Workspace applications, such as users in a Google Workspace organization. */ + commonDataSource?: "UNKNOWN" | "USER"; + /** A data source that's unique to a Google Workspace host application, such spaces in Google Chat. This field supports the Google API Client Libraries but isn't available in the Cloud Client Libraries. To learn more, see [Install the client libraries](https://developers.google.com/workspace/chat/libraries). */ + hostAppDataSource?: GoogleChat.HostAppDataSourceMarkup; + }; + /** A section contains a collection of widgets that are rendered vertically in the order that they're specified. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1Section = { + /** Optional. Define the expand and collapse button of the section. This button will be shown only if the section is collapsible. If this field isn't set, the default button is used. */ + collapseControl?: GoogleChat.GoogleAppsCardV1CollapseControl; + /** Indicates whether this section is collapsible. Collapsible sections hide some or all widgets, but users can expand the section to reveal the hidden widgets by clicking **Show more**. Users can hide the widgets again by clicking **Show less**. To determine which widgets are hidden, specify `uncollapsibleWidgetsCount`. */ + collapsible?: boolean; + /** Text that appears at the top of a section. Supports simple HTML formatted text. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). */ + header?: string; + /** A unique ID assigned to the section that's used to identify the section to be mutated. The ID has a character limit of 64 characters and should be in the format of `[a-zA-Z0-9-]+`. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + id?: string; + /** The number of uncollapsible widgets which remain visible even when a section is collapsed. For example, when a section contains five widgets and the `uncollapsibleWidgetsCount` is set to `2`, the first two widgets are always shown and the last three are collapsed by default. The `uncollapsibleWidgetsCount` is taken into account only when `collapsible` is `true`. */ + uncollapsibleWidgetsCount?: number; + /** All the widgets in the section. Must contain at least one widget. */ + widgets?: Array; + }; + /** A widget that creates one or more UI items that users can select. Supports form submission validation for `dropdown` and `multiselect` menus only. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is selected. For example, a dropdown menu or checkboxes. You can use this widget to collect data that can be predicted or enumerated. For an example in Google Chat apps, see [Add selectable UI elements](/workspace/chat/design-interactive-card-dialog#add_selectable_ui_elements). Chat apps can process the value of items that users select or input. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). To collect undefined or abstract data from users, use the TextInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1SelectionInput = { + /** Optional. The data source configs for the selection control. This field provides more fine-grained control over the data source. If specified, the `multi_select_max_selected_items` field, `multi_select_min_query_length` field, `external_data_source` field and `platform_data_source` field are ignored. Available for Google Workspace add-ons that extend Google Workspace Studio. Available for the `Dropdown widget` in Google Chat apps. For the `Dropdown` widget in Google Chat apps, only one `DataSourceConfig` is supported. If multiple `DataSourceConfig`s are set, only the first one is used. */ + dataSourceConfigs?: Array; + /** An external data source, such as a relational database. */ + externalDataSource?: GoogleChat.GoogleAppsCardV1Action; + /** Optional. Text that appears below the selection input field meant to assist users by prompting them to enter a certain value. This text is always visible. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + hintText?: string; + /** An array of selectable items. For example, an array of radio buttons or checkboxes. Supports up to 100 items. */ + items?: Array; + /** The text that appears above the selection input field in the user interface. Specify text that helps the user enter the information your app needs. For example, if users are selecting the urgency of a work ticket from a drop-down menu, the label might be "Urgency" or "Select urgency". */ + label?: string; + /** For multiselect menus, the maximum number of items that a user can select. Minimum value is 1 item. If unspecified, defaults to 3 items. */ + multiSelectMaxSelectedItems?: number; + /** For multiselect menus, the number of text characters that a user inputs before the menu returns suggested selection items. If unset, the multiselect menu uses the following default values: * If the menu uses a static array of `SelectionInput` items, defaults to 0 characters and immediately populates items from the array. * If the menu uses a dynamic data source (`multi_select_data_source`), defaults to 3 characters before querying the data source to return suggested items. */ + multiSelectMinQueryLength?: number; + /** Required. The name that identifies the selection input in a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). */ + name?: string; + /** If specified, the form is submitted when the selection changes. If not specified, you must specify a separate button that submits the form. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). */ + onChangeAction?: GoogleChat.GoogleAppsCardV1Action; + /** A data source from Google Workspace. */ + platformDataSource?: GoogleChat.GoogleAppsCardV1PlatformDataSource; + /** The type of items that are displayed to users in a `SelectionInput` widget. Selection types support different types of interactions. For example, users can select one or more checkboxes, but they can only select one value from a dropdown menu. */ + type?: "CHECK_BOX" | "RADIO_BUTTON" | "SWITCH" | "DROPDOWN" | "MULTI_SELECT"; + }; + /** An item that users can select in a selection input, such as a checkbox or switch. Supports up to 100 items. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1SelectionItem = { + /** For multiselect menus, a text description or label that's displayed below the item's `text` field. */ + bottomText?: string; + /** Whether the item is selected by default. If the selection input only accepts one value (such as for radio buttons or a dropdown menu), only set this field for one item. */ + selected?: boolean; + startIconUri?: string; + /** The text that identifies or describes the item to users. */ + text?: string; + /** The value associated with this item. The client should use this as a form input value. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). */ + value?: string; + }; + /** One suggested value that users can enter in a text input field. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1SuggestionItem = { + /** The value of a suggested input to a text input field. This is equivalent to what users enter themselves. */ + text?: string; + }; + /** Suggested values that users can enter. These values appear when users click inside the text input field. As users type, the suggested values dynamically filter to match what the users have typed. For example, a text input field for programming language might suggest Java, JavaScript, Python, and C++. When users start typing `Jav`, the list of suggestions filters to show `Java` and `JavaScript`. Suggested values help guide users to enter values that your app can make sense of. When referring to JavaScript, some users might enter `javascript` and others `java script`. Suggesting `JavaScript` can standardize how users interact with your app. When specified, `TextInput.type` is always `SINGLE_LINE`, even if it's set to `MULTIPLE_LINE`. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1Suggestions = { + /** A list of suggestions used for autocomplete recommendations in text input fields. */ + items?: Array; + }; + /** Either a toggle-style switch or a checkbox inside a `decoratedText` widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): Only supported in the `decoratedText` widget. */ + type GoogleAppsCardV1SwitchControl = { + /** How the switch appears in the user interface. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + controlType?: "SWITCH" | "CHECKBOX" | "CHECK_BOX"; + /** The name by which the switch widget is identified in a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). */ + name?: string; + /** The action to perform when the switch state is changed, such as what function to run. */ + onChangeAction?: GoogleChat.GoogleAppsCardV1Action; + /** When `true`, the switch is selected. */ + selected?: boolean; + /** The value entered by a user, returned as part of a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). */ + value?: string; + }; + /** A field in which users can enter text. Supports suggestions and on-change actions. Supports form submission validation. When `Action.all_widgets_are_required` is set to `true` or this widget is specified in `Action.required_widgets`, the submission action is blocked unless a value is entered. For an example in Google Chat apps, see [Add a field in which a user can enter text](https://developers.google.com/workspace/chat/design-interactive-card-dialog#add_a_field_in_which_a_user_can_enter_text). Chat apps receive and can process the value of entered text during form input events. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). When you need to collect undefined or abstract data from users, use a text input. To collect defined or enumerated data from users, use the SelectionInput widget. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1TextInput = { + /** Optional. Specify what action to take when the text input field provides suggestions to users who interact with it. If unspecified, the suggestions are set by `initialSuggestions` and are processed by the client. If specified, the app takes the action specified here, such as running a custom function. [Google Workspace add-ons](https://developers.google.com/workspace/add-ons): */ + autoCompleteAction?: GoogleChat.GoogleAppsCardV1Action; + /** Text that appears below the text input field meant to assist users by prompting them to enter a certain value. This text is always visible. Required if `label` is unspecified. Otherwise, optional. */ + hintText?: string; + /** A data source that's unique to a Google Workspace host application, such as Gmail emails, Google Calendar events, or Google Chat messages. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + hostAppDataSource?: GoogleChat.HostAppDataSourceMarkup; + /** Suggested values that users can enter. These values appear when users click inside the text input field. As users type, the suggested values dynamically filter to match what the users have typed. For example, a text input field for programming language might suggest Java, JavaScript, Python, and C++. When users start typing `Jav`, the list of suggestions filters to show just `Java` and `JavaScript`. Suggested values help guide users to enter values that your app can make sense of. When referring to JavaScript, some users might enter `javascript` and others `java script`. Suggesting `JavaScript` can standardize how users interact with your app. When specified, `TextInput.type` is always `SINGLE_LINE`, even if it's set to `MULTIPLE_LINE`. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + initialSuggestions?: GoogleChat.GoogleAppsCardV1Suggestions; + /** The text that appears above the text input field in the user interface. Specify text that helps the user enter the information your app needs. For example, if you are asking someone's name, but specifically need their surname, write `surname` instead of `name`. Required if `hintText` is unspecified. Otherwise, optional. */ + label?: string; + /** The name by which the text input is identified in a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). */ + name?: string; + /** What to do when a change occurs in the text input field. For example, a user adding to the field or deleting text. Examples of actions to take include running a custom function or opening a [dialog](https://developers.google.com/workspace/chat/dialogs) in Google Chat. */ + onChangeAction?: GoogleChat.GoogleAppsCardV1Action; + /** Text that appears in the text input field when the field is empty. Use this text to prompt users to enter a value. For example, `Enter a number from 0 to 100`. [Google Chat apps](https://developers.google.com/workspace/chat): */ + placeholderText?: string; + /** How a text input field appears in the user interface. For example, whether the field is single or multi-line. */ + type?: "SINGLE_LINE" | "MULTIPLE_LINE"; + /** Specify the input format validation necessary for this text field. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + validation?: GoogleChat.GoogleAppsCardV1Validation; + /** The value entered by a user, returned as part of a form input event. For details about working with form inputs, see [Receive form data](https://developers.google.com/workspace/chat/read-form-data). */ + value?: string; + }; + /** A paragraph of text that supports formatting. For an example in Google Chat apps, see [Add a paragraph of formatted text](https://developers.google.com/workspace/chat/add-text-image-card-dialog#add_a_paragraph_of_formatted_text). For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1TextParagraph = { + /** The maximum number of lines of text that are displayed in the widget. If the text exceeds the specified maximum number of lines, the excess content is concealed behind a **show more** button. If the text is equal or shorter than the specified maximum number of lines, a **show more** button isn't displayed. The default value is 0, in which case all context is displayed. Negative values are ignored. */ + maxLines?: number; + /** The text that's shown in the widget. */ + text?: string; + /** The syntax of the text. If not set, the text is rendered as HTML. [Google Chat apps](https://developers.google.com/workspace/chat): */ + textSyntax?: "TEXT_SYNTAX_UNSPECIFIED" | "HTML" | "MARKDOWN"; + }; + /** Represents a trigger. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + type GoogleAppsCardV1Trigger = { + /** The unique identifier of the ActionRule. */ + actionRuleId?: string; + }; + /** Represents an action that updates the visibility of a widget. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + type GoogleAppsCardV1UpdateVisibilityAction = { + /** The new visibility. */ + visibility?: "VISIBILITY_UNSPECIFIED" | "VISIBLE" | "HIDDEN"; + }; + /** Represents the necessary data for validating the widget it's attached to. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + type GoogleAppsCardV1Validation = { + /** Specify the character limit for text input widgets. Note that this is only used for text input and is ignored for other widgets. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + characterLimit?: number; + /** Specify the type of the input widgets. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): */ + inputType?: "INPUT_TYPE_UNSPECIFIED" | "TEXT" | "INTEGER" | "FLOAT" | "EMAIL" | "EMOJI_PICKER"; + }; + /** Each card is made up of widgets. A widget is a composite object that can represent one of text, images, buttons, and other object types. */ + type GoogleAppsCardV1Widget = { + /** A list of buttons. For example, the following JSON creates two buttons. The first is a blue text button and the second is an image button that opens a link: ``` "buttonList": { "buttons": [ { "text": "Edit", "color": { "red": 0, "green": 0, "blue": 1, }, "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` */ + buttonList?: GoogleChat.GoogleAppsCardV1ButtonList; + /** A carousel contains a collection of nested widgets. For example, this is a JSON representation of a carousel that contains two text paragraphs. ``` { "widgets": [ { "textParagraph": { "text": "First text paragraph in the carousel." } }, { "textParagraph": { "text": "Second text paragraph in the carousel." } } ] } ``` */ + carousel?: GoogleChat.GoogleAppsCardV1Carousel; + /** A list of chips. For example, the following JSON creates two chips. The first is a text chip and the second is an icon chip that opens a link: ``` "chipList": { "chips": [ { "text": "Edit", "disabled": true, }, { "icon": { "knownIcon": "INVITE", "altText": "check calendar" }, "onClick": { "openLink": { "url": "https://example.com/calendar" } } } ] } ``` */ + chipList?: GoogleChat.GoogleAppsCardV1ChipList; + /** Displays up to 2 columns. To include more than 2 columns, or to use rows, use the `Grid` widget. For example, the following JSON creates 2 columns that each contain text paragraphs: ``` "columns": { "columnItems": [ { "horizontalSizeStyle": "FILL_AVAILABLE_SPACE", "horizontalAlignment": "CENTER", "verticalAlignment": "CENTER", "widgets": [ { "textParagraph": { "text": "First column text paragraph" } } ] }, { "horizontalSizeStyle": "FILL_AVAILABLE_SPACE", "horizontalAlignment": "CENTER", "verticalAlignment": "CENTER", "widgets": [ { "textParagraph": { "text": "Second column text paragraph" } } ] } ] } ``` */ + columns?: GoogleChat.GoogleAppsCardV1Columns; + /** Displays a widget that lets users input a date, time, or date and time. For example, the following JSON creates a date time picker to schedule an appointment: ``` "dateTimePicker": { "name": "appointment_time", "label": "Book your appointment at:", "type": "DATE_AND_TIME", "valueMsEpoch": 796435200000 } ``` */ + dateTimePicker?: GoogleChat.GoogleAppsCardV1DateTimePicker; + /** Displays a decorated text item. For example, the following JSON creates a decorated text widget showing email address: ``` "decoratedText": { "icon": { "knownIcon": "EMAIL" }, "topLabel": "Email Address", "text": "sasha@example.com", "bottomLabel": "This is a new Email address!", "switchControl": { "name": "has_send_welcome_email_to_sasha", "selected": false, "controlType": "CHECKBOX" } } ``` */ + decoratedText?: GoogleChat.GoogleAppsCardV1DecoratedText; + /** Displays a horizontal line divider between widgets. For example, the following JSON creates a divider: ``` "divider": { } ``` */ + divider?: GoogleChat.GoogleAppsCardV1Divider; + /** Specifies the event actions that can be performed on the widget. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + eventActions?: Array; + /** Displays a grid with a collection of items. A grid supports any number of columns and items. The number of rows is determined by the upper bounds of the number items divided by the number of columns. A grid with 10 items and 2 columns has 5 rows. A grid with 11 items and 2 columns has 6 rows. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend): For example, the following JSON creates a 2 column grid with a single item: ``` "grid": { "title": "A fine collection of items", "columnCount": 2, "borderStyle": { "type": "STROKE", "cornerRadius": 4 }, "items": [ { "image": { "imageUri": "https://www.example.com/image.png", "cropStyle": { "type": "SQUARE" }, "borderStyle": { "type": "STROKE" } }, "title": "An item", "textAlignment": "CENTER" } ], "onClick": { "openLink": { "url": "https://www.example.com" } } } ``` */ + grid?: GoogleChat.GoogleAppsCardV1Grid; + /** Specifies whether widgets align to the left, right, or center of a column. */ + horizontalAlignment?: "HORIZONTAL_ALIGNMENT_UNSPECIFIED" | "START" | "CENTER" | "END"; + /** A unique ID assigned to the widget that's used to identify the widget to be mutated. The ID has a character limit of 64 characters and should be in the format of `[a-zA-Z0-9-]+`. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + id?: string; + /** Displays an image. For example, the following JSON creates an image with alternative text: ``` "image": { "imageUrl": "https://developers.google.com/workspace/chat/images/quickstart-app-avatar.png", "altText": "Chat app avatar" } ``` */ + image?: GoogleChat.GoogleAppsCardV1Image; + /** Displays a selection control that lets users select items. Selection controls can be checkboxes, radio buttons, switches, or dropdown menus. For example, the following JSON creates a dropdown menu that lets users choose a size: ``` "selectionInput": { "name": "size", "label": "Size" "type": "DROPDOWN", "items": [ { "text": "S", "value": "small", "selected": false }, { "text": "M", "value": "medium", "selected": true }, { "text": "L", "value": "large", "selected": false }, { "text": "XL", "value": "extra_large", "selected": false } ] } ``` */ + selectionInput?: GoogleChat.GoogleAppsCardV1SelectionInput; + /** Displays a text box that users can type into. For example, the following JSON creates a text input for an email address: ``` "textInput": { "name": "mailing_address", "label": "Mailing Address" } ``` As another example, the following JSON creates a text input for a programming language with static suggestions: ``` "textInput": { "name": "preferred_programing_language", "label": "Preferred Language", "initialSuggestions": { "items": [ { "text": "C++" }, { "text": "Java" }, { "text": "JavaScript" }, { "text": "Python" } ] } } ``` */ + textInput?: GoogleChat.GoogleAppsCardV1TextInput; + /** Displays a text paragraph. Supports simple HTML formatted text. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). For example, the following JSON creates a bolded text: ``` "textParagraph": { "text": " *bold text*" } ``` */ + textParagraph?: GoogleChat.GoogleAppsCardV1TextParagraph; + /** Specifies whether the widget is visible or hidden. The default value is `VISIBLE`. Available for Google Workspace add-ons that extend Google Workspace Studio. Unavailable for Google Chat apps. */ + visibility?: "VISIBILITY_UNSPECIFIED" | "VISIBLE" | "HIDDEN"; + }; + /** The supported widgets that you can include in a column. [Google Workspace add-ons and Chat apps](https://developers.google.com/workspace/extend) */ + type GoogleAppsCardV1Widgets = { + /** ButtonList widget. */ + buttonList?: GoogleChat.GoogleAppsCardV1ButtonList; + /** ChipList widget. */ + chipList?: GoogleChat.GoogleAppsCardV1ChipList; + /** DateTimePicker widget. */ + dateTimePicker?: GoogleChat.GoogleAppsCardV1DateTimePicker; + /** DecoratedText widget. */ + decoratedText?: GoogleChat.GoogleAppsCardV1DecoratedText; + /** Image widget. */ + image?: GoogleChat.GoogleAppsCardV1Image; + /** SelectionInput widget. */ + selectionInput?: GoogleChat.GoogleAppsCardV1SelectionInput; + /** TextInput widget. */ + textInput?: GoogleChat.GoogleAppsCardV1TextInput; + /** TextParagraph widget. */ + textParagraph?: GoogleChat.GoogleAppsCardV1TextParagraph; + }; + /** Represents a [section](https://support.google.com/chat/answer/16059854) in Google Chat. Sections help users organize their spaces. There are two types of sections: 1. **System Sections:** These are predefined sections managed by Google Chat. Their resource names are fixed, and they cannot be created, deleted, or have their `display_name` modified. Examples include: * `users/{user}/sections/default-direct-messages` * `users/{user}/sections/default-spaces` * `users/{user}/sections/default-apps` 2. **Custom Sections:** These are sections created and managed by the user. Creating a custom section using `CreateSection` **requires** a `display_name`. Custom sections can be updated using `UpdateSection` and deleted using `DeleteSection`. */ + type GoogleChatV1Section = { + /** Optional. The section's display name. Only populated for sections of type `CUSTOM_SECTION`. Supports up to 80 characters. Required when creating a `CUSTOM_SECTION`. */ + displayName?: string; + /** Identifier. Resource name of the section. For system sections, the section ID is a constant string: - DEFAULT_DIRECT_MESSAGES: `users/{user}/sections/default-direct-messages` - DEFAULT_SPACES: `users/{user}/sections/default-spaces` - DEFAULT_APPS: `users/{user}/sections/default-apps` Format: `users/{user}/sections/{section}` */ + name?: string; + /** Output only. The order of the section in relation to other sections. Sections with a lower `sort_order` value appear before sections with a higher value. */ + sortOrder?: number; + /** Required. The type of the section. */ + type?: "SECTION_TYPE_UNSPECIFIED" | "CUSTOM_SECTION" | "DEFAULT_DIRECT_MESSAGES" | "DEFAULT_SPACES" | "DEFAULT_APPS"; + }; + /** A Google Group in Google Chat. */ + type Group = { + /** Resource name for a Google Group. Represents a [group](https://cloud.google.com/identity/docs/reference/rest/v1/groups) in Cloud Identity Groups API. Format: groups/{group} */ + name?: string; + }; + /** A data source from a Google Workspace application. The data source populates available items for a widget. */ + type HostAppDataSourceMarkup = { + /** A data source from Google Chat. */ + chatDataSource?: GoogleChat.ChatClientDataSourceMarkup; + /** A data source from Google Workflow. */ + workflowDataSource?: GoogleChat.WorkflowDataSourceMarkup; + }; + /** An image that's specified by a URL and can have an `onclick` action. */ + type Image = { + /** The aspect ratio of this image (width and height). This field lets you reserve the right height for the image while waiting for it to load. It's not meant to override the built-in aspect ratio of the image. If unset, the server fills it by prefetching the image. */ + aspectRatio?: number; + /** The URL of the image. */ + imageUrl?: string; + /** The `onclick` action. */ + onClick?: GoogleChat.OnClick; + }; + /** An image button with an `onclick` action. */ + type ImageButton = { + /** The icon specified by an `enum` that indices to an icon provided by Chat API. */ + icon?: "ICON_UNSPECIFIED" | "AIRPLANE" | "BOOKMARK" | "BUS" | "CAR" | "CLOCK" | "CONFIRMATION_NUMBER_ICON" | "DOLLAR" | "DESCRIPTION" | "EMAIL" | "EVENT_PERFORMER" | "EVENT_SEAT" | "FLIGHT_ARRIVAL" | "FLIGHT_DEPARTURE" | "HOTEL" | "HOTEL_ROOM_TYPE" | "INVITE" | "MAP_PIN" | "MEMBERSHIP" | "MULTIPLE_PEOPLE" | "OFFER" | "PERSON" | "PHONE" | "RESTAURANT_ICON" | "SHOPPING_CART" | "STAR" | "STORE" | "TICKET" | "TRAIN" | "VIDEO_CAMERA" | "VIDEO_PLAY"; + /** The icon specified by a URL. */ + iconUrl?: string; + /** The name of this `image_button` that's used for accessibility. Default value is provided if this name isn't specified. */ + name?: string; + /** The `onclick` action. */ + onClick?: GoogleChat.OnClick; + }; + /** Types of data that users can [input on cards or dialogs](https://developers.google.com/chat/ui/read-form-data). The input type depends on the type of values that the widget accepts. */ + type Inputs = { + /** Date input values from a [`DateTimePicker`](https://developers.google.com/chat/api/reference/rest/v1/cards#DateTimePicker) widget that only accepts date values. */ + dateInput?: GoogleChat.DateInput; + /** Date and time input values from a [`DateTimePicker`](https://developers.google.com/chat/api/reference/rest/v1/cards#DateTimePicker) widget that accepts both a date and time. */ + dateTimeInput?: GoogleChat.DateTimeInput; + /** A list of strings that represent the values that the user inputs in a widget. If the widget only accepts one value, such as a [`TextInput`](https://developers.google.com/chat/api/reference/rest/v1/cards#TextInput) widget, the list contains one string object. If the widget accepts multiple values, such as a [`SelectionInput`](https://developers.google.com/chat/api/reference/rest/v1/cards#selectioninput) widget of checkboxes, the list contains a string object for each value that the user inputs or selects. */ + stringInputs?: GoogleChat.StringInputs; + /** Time input values from a [`DateTimePicker`](https://developers.google.com/chat/api/reference/rest/v1/cards#DateTimePicker) widget that only accepts time values. */ + timeInput?: GoogleChat.TimeInput; + }; + /** A UI element contains a key (label) and a value (content). This element can also contain some actions such as `onclick` button. */ + type KeyValue = { + /** The text of the bottom label. Formatted text supported. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). */ + bottomLabel?: string; + /** A button that can be clicked to trigger an action. */ + button?: GoogleChat.Button; + /** The text of the content. Formatted text supported and always required. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). */ + content?: string; + /** If the content should be multiline. */ + contentMultiline?: boolean; + /** An enum value that's replaced by the Chat API with the corresponding icon image. */ + icon?: "ICON_UNSPECIFIED" | "AIRPLANE" | "BOOKMARK" | "BUS" | "CAR" | "CLOCK" | "CONFIRMATION_NUMBER_ICON" | "DOLLAR" | "DESCRIPTION" | "EMAIL" | "EVENT_PERFORMER" | "EVENT_SEAT" | "FLIGHT_ARRIVAL" | "FLIGHT_DEPARTURE" | "HOTEL" | "HOTEL_ROOM_TYPE" | "INVITE" | "MAP_PIN" | "MEMBERSHIP" | "MULTIPLE_PEOPLE" | "OFFER" | "PERSON" | "PHONE" | "RESTAURANT_ICON" | "SHOPPING_CART" | "STAR" | "STORE" | "TICKET" | "TRAIN" | "VIDEO_CAMERA" | "VIDEO_PLAY"; + /** The icon specified by a URL. */ + iconUrl?: string; + /** The `onclick` action. Only the top label, bottom label, and content region are clickable. */ + onClick?: GoogleChat.OnClick; + /** The text of the top label. Formatted text supported. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). */ + topLabel?: string; + }; + /** A response to list custom emojis. */ + type ListCustomEmojisResponse = { + /** Unordered list. List of custom emojis. */ + customEmojis?: Array; + /** A token that you can send as `pageToken` to retrieve the next page of results. If empty, there are no subsequent pages. */ + nextPageToken?: string; + }; + /** Response to list memberships of the space. */ + type ListMembershipsResponse = { + /** Unordered list. List of memberships in the requested (or first) page. */ + memberships?: Array; + /** A token that you can send as `pageToken` to retrieve the next page of results. If empty, there are no subsequent pages. */ + nextPageToken?: string; + }; + /** Response message for listing messages. */ + type ListMessagesResponse = { + /** List of messages. */ + messages?: Array; + /** You can send a token as `pageToken` to retrieve the next page of results. If empty, there are no subsequent pages. */ + nextPageToken?: string; + }; + /** Response to a list reactions request. */ + type ListReactionsResponse = { + /** Continuation token to retrieve the next page of results. It's empty for the last page of results. */ + nextPageToken?: string; + /** List of reactions in the requested (or first) page. */ + reactions?: Array; + }; + /** Response message for listing section items. */ + type ListSectionItemsResponse = { + /** A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ + nextPageToken?: string; + /** The section items from the specified section. */ + sectionItems?: Array; + }; + /** Response message for listing sections. */ + type ListSectionsResponse = { + /** A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ + nextPageToken?: string; + /** The sections from the specified user. */ + sections?: Array; + }; + /** Response message for listing space events. */ + type ListSpaceEventsResponse = { + /** Continuation token used to fetch more events. If this field is omitted, there are no subsequent pages. */ + nextPageToken?: string; + /** Results are returned in chronological order (oldest event first). Note: The `permissionSettings` field is not returned in the Space object for list requests. */ + spaceEvents?: Array; + }; + /** The response for a list spaces request. */ + type ListSpacesResponse = { + /** You can send a token as `pageToken` to retrieve the next page of results. If empty, there are no subsequent pages. */ + nextPageToken?: string; + /** List of spaces in the requested (or first) page. Note: The `permissionSettings` field is not returned in the Space object for list requests. */ + spaces?: Array; + }; + /** Request message for the `MarkAsActive` method. */ + type MarkAsActiveRequest = { + /** The absolute timestamp when the ACTIVE state expires. */ + expireTime?: string; + /** The duration from the current time until the ACTIVE state expires. Using a short TTL can effectively reset the user's state to be based on activity after this brief duration. */ + ttl?: string; + }; + /** Request message for the `MarkAsAway` method. */ + type MarkAsAwayRequest = Record; + /** Request message for the `MarkAsDoNotDisturb` method. */ + type MarkAsDoNotDisturbRequest = { + /** The absolute timestamp when the DND state expires. */ + expireTime?: string; + /** The duration from the current time until the DND state expires. */ + ttl?: string; + }; + /** A matched URL in a Chat message. Chat apps can preview matched URLs. For more information, see [Preview links](https://developers.google.com/chat/how-tos/preview-links). */ + type MatchedUrl = { + /** Output only. The URL that was matched. */ + url?: string; + }; + /** Media resource. */ + type Media = { + /** Name of the media resource. */ + resourceName?: string; + }; + /** Data for Meet space links. */ + type MeetSpaceLinkData = { + /** Optional. Output only. If the Meet is a Huddle, indicates the status of the huddle. Otherwise, this is unset. */ + huddleStatus?: "HUDDLE_STATUS_UNSPECIFIED" | "STARTED" | "ENDED" | "MISSED"; + /** Meeting code of the linked Meet space. */ + meetingCode?: string; + /** Indicates the type of the Meet space. */ + type?: "TYPE_UNSPECIFIED" | "MEETING" | "HUDDLE"; + }; + /** Represents a membership relation in Google Chat, such as whether a user or Chat app is invited to, part of, or absent from a space. */ + type Membership = { + /** Output only. A user's relationship to the Workspace organization that owns the space. In spaces owned by consumer accounts, the affiliation of all members is `EXTERNAL`. */ + affiliation?: "AFFILIATION_UNSPECIFIED" | "INTERNAL" | "EXTERNAL" | "MANAGED_EXTERNAL"; + /** Optional. Immutable. The creation time of the membership, such as when a member joined or was invited to join a space. This field is output only, except when used to import historical memberships in import mode spaces. */ + createTime?: string; + /** Optional. Immutable. The deletion time of the membership, such as when a member left or was removed from a space. This field is output only, except when used to import historical memberships in import mode spaces. */ + deleteTime?: string; + /** Optional. The Google Group the membership corresponds to. Reading or mutating memberships for Google Groups requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). */ + groupMember?: GoogleChat.Group; + /** Optional. The Google Chat user or app the membership corresponds to. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output populates the [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User) `name` and `type`. */ + member?: GoogleChat.User; + /** Identifier. Resource name of the membership, assigned by the server. Format: `spaces/{space}/members/{member}` */ + name?: string; + /** Optional. User's role within a Chat space, which determines their permitted actions in the space. This field can only be used as input in `UpdateMembership`. */ + role?: "MEMBERSHIP_ROLE_UNSPECIFIED" | "ROLE_MEMBER" | "ROLE_MANAGER" | "ROLE_ASSISTANT_MANAGER"; + /** Output only. State of the membership. */ + state?: "MEMBERSHIP_STATE_UNSPECIFIED" | "JOINED" | "INVITED" | "NOT_A_MEMBER"; + }; + /** Event payload for multiple new memberships. Event type: `google.workspace.chat.membership.v1.batchCreated` */ + type MembershipBatchCreatedEventData = { + /** A list of new memberships. */ + memberships?: Array; + }; + /** Event payload for multiple deleted memberships. Event type: `google.workspace.chat.membership.v1.batchDeleted` */ + type MembershipBatchDeletedEventData = { + /** A list of deleted memberships. */ + memberships?: Array; + }; + /** Event payload for multiple updated memberships. Event type: `google.workspace.chat.membership.v1.batchUpdated` */ + type MembershipBatchUpdatedEventData = { + /** A list of updated memberships. */ + memberships?: Array; + }; + /** Represents the count of memberships of a space, grouped into categories. */ + type MembershipCount = { + /** Output only. Count of human users that have directly joined the space, not counting users joined by having membership in a joined group. */ + joinedDirectHumanUserCount?: number; + /** Output only. Count of all groups that have directly joined the space. */ + joinedGroupCount?: number; + }; + /** Event payload for a new membership. Event type: `google.workspace.chat.membership.v1.created`. */ + type MembershipCreatedEventData = { + /** The new membership. */ + membership?: GoogleChat.Membership; + }; + /** Event payload for a deleted membership. Event type: `google.workspace.chat.membership.v1.deleted` */ + type MembershipDeletedEventData = { + /** The deleted membership. Only the `name` and `state` fields are populated. */ + membership?: GoogleChat.Membership; + }; + /** Event payload for an updated membership. Event type: `google.workspace.chat.membership.v1.updated` */ + type MembershipUpdatedEventData = { + /** The updated membership. */ + membership?: GoogleChat.Membership; + }; + /** A message in a Google Chat space. */ + type Message = { + /** Optional. One or more interactive widgets that appear at the bottom of a message. You can add accessory widgets to messages that contain text, cards, or both text and cards. Not supported for messages that contain dialogs. For details, see [Add interactive widgets at the bottom of a message](https://developers.google.com/workspace/chat/create-messages#add-accessory-widgets). Creating a message with accessory widgets requires [app authentication] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). */ + accessoryWidgets?: Array; + /** Input only. Parameters that a Chat app can use to configure how its response is posted. */ + actionResponse?: GoogleChat.ActionResponse; + /** Output only. Annotations can be associated with the plain-text body of the message or with chips that link to Google Workspace resources like Google Docs or Sheets with `start_index` and `length` of 0. */ + annotations?: Array; + /** Output only. Plain-text body of the message with all Chat app mentions stripped out. */ + argumentText?: string; + /** Output only. GIF images that are attached to the message. */ + attachedGifs?: Array; + /** Optional. User-uploaded attachment. */ + attachment?: Array; + /** Deprecated: Use `cards_v2` instead. Rich, formatted, and interactive cards that you can use to display UI elements such as: formatted texts, buttons, and clickable images. Cards are normally displayed below the plain-text body of the message. `cards` and `cards_v2` can have a maximum size of 32 KB. */ + cards?: Array; + /** Optional. An array of [cards](https://developers.google.com/workspace/chat/api/reference/rest/v1/cards). Chat apps can create cards with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). As part of the [Developer Preview Program](https://developers.google.com/workspace/preview), if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), it can create card messages. If your Chat app is not part of Developer Preview Program, it can't create cards with user authentication. To learn how to create a message that contains cards, see [Send a message](https://developers.google.com/workspace/chat/create-messages). [Card builder](https://addons.gsuite.google.com/uikit/builder) */ + cardsV2?: Array; + /** Optional. A custom ID for the message. You can use field to identify a message, or to get, delete, or update a message. To set a custom ID, specify the [`messageId`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages/create#body.QUERY_PARAMETERS.message_id) field when you create the message. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). */ + clientAssignedMessageId?: string; + /** Optional. Immutable. For spaces created in Chat, the time at which the message was created. This field is output only, except when used in import mode spaces. For import mode spaces, set this field to the historical timestamp at which the message was created in the source in order to preserve the original creation time. */ + createTime?: string; + /** Output only. The time at which the message was deleted in Google Chat. If the message is never deleted, this field is empty. */ + deleteTime?: string; + /** Output only. Information about a deleted message. A message is deleted when `delete_time` is set. */ + deletionMetadata?: GoogleChat.DeletionMetadata; + /** Output only. The list of emoji reaction summaries on the message. */ + emojiReactionSummaries?: Array; + /** Optional. A plain-text description of the message's cards, used when the actual cards can't be displayed—for example, mobile notifications. */ + fallbackText?: string; + /** Output only. Contains the message `text` with markups added to communicate formatting. This field might not capture all formatting visible in the UI, but includes the following: * [Markup syntax](https://developers.google.com/workspace/chat/format-messages) for bold, italic, strikethrough, monospace, monospace block, bulleted list, and block quote. * [User mentions](https://developers.google.com/workspace/chat/format-messages#messages-@mention) using the format ``. * Custom hyperlinks using the format `<{url}|{rendered_text}>` where the first string is the URL and the second is the rendered text—for example, ``. * Custom emoji using the format `:{emoji_name}:`—for example, `:smile:`. This doesn't apply to Unicode emoji, such as `U+1F600` for a grinning face emoji. * Bullet list items using asterisks (`*`)—for example, `* item`. For more information, see [View text formatting sent in a message](https://developers.google.com/workspace/chat/format-messages#view_text_formatting_sent_in_a_message) */ + formattedText?: string; + /** Output only. The time at which the message was last edited by a user. If the message has never been edited, this field is empty. */ + lastUpdateTime?: string; + /** Optional. Specifies how the server interprets the message `text` field content. */ + markupSyntax?: "MARKUP_SYNTAX_UNSPECIFIED" | "MARKUP_SYNTAX_CHAT" | "MARKUP_SYNTAX_MARKDOWN"; + /** Output only. A URL in the Chat message `text` field that matches a link preview pattern. For more information, see [Preview links](https://developers.google.com/workspace/chat/preview-links). */ + matchedUrl?: GoogleChat.MatchedUrl; + /** Identifier. Resource name of the message. Format: `spaces/{space}/messages/{message}` Where `{space}` is the ID of the space where the message is posted and `{message}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). */ + name?: string; + /** Optional. Immutable. Input for creating a message, otherwise output only. The user that can view the message. When set, the message is private and only visible to the specified user and the Chat app. To include this field in your request, you must call the Chat API using [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and omit the following: * [Attachments](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.attachments) For details, see [Send a message privately](https://developers.google.com/workspace/chat/create-messages#private). */ + privateMessageViewer?: GoogleChat.User; + /** Optional. Information about a message that another message quotes. When you create a message, you can quote messages within the same thread, or quote a root message to create a new root message. However, you can't quote a message reply from a different thread. When you update a message, you can't add or replace the `quotedMessageMetadata` field, but you can remove it. For example usage, see [Quote another message](https://developers.google.com/workspace/chat/create-messages#quote-a-message). */ + quotedMessageMetadata?: GoogleChat.QuotedMessageMetadata; + /** Output only. The user who created the message. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output populates the [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User) `name` and `type`. */ + sender?: GoogleChat.User; + /** Output only. Whether this is a silent message. Silent messages are messages where Chat suppresses push notifications for recipients. */ + silent?: boolean; + /** Output only. Slash command information, if applicable. */ + slashCommand?: GoogleChat.SlashCommand; + /** Output only. If your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output only populates the [space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces) `name`. */ + space?: GoogleChat.Space; + /** Optional. Plain-text body of the message. The first link to an image, video, or web page generates a [preview chip](https://developers.google.com/workspace/chat/preview-links). You can also [@mention a Google Chat user](https://developers.google.com/workspace/chat/format-messages#messages-@mention), or everyone in the space. To learn about creating text messages, see [Send a message](https://developers.google.com/workspace/chat/create-messages). */ + text?: string; + /** The thread the message belongs to. For example usage, see [Start or reply to a message thread](https://developers.google.com/workspace/chat/create-messages#create-message-thread). */ + thread?: GoogleChat.Thread; + /** Output only. When `true`, the message is a response in a reply thread. When `false`, the message is visible in the space's top-level conversation as either the first message of a thread or a message with no threaded replies. If the space doesn't support reply in threads, this field is always `false`. */ + threadReply?: boolean; + }; + /** Event payload for multiple new messages. Event type: `google.workspace.chat.message.v1.batchCreated` */ + type MessageBatchCreatedEventData = { + /** A list of new messages. */ + messages?: Array; + }; + /** Event payload for multiple deleted messages. Event type: `google.workspace.chat.message.v1.batchDeleted` */ + type MessageBatchDeletedEventData = { + /** A list of deleted messages. */ + messages?: Array; + }; + /** Event payload for multiple updated messages. Event type: `google.workspace.chat.message.v1.batchUpdated` */ + type MessageBatchUpdatedEventData = { + /** A list of updated messages. */ + messages?: Array; + }; + /** Event payload for a new message. Event type: `google.workspace.chat.message.v1.created` */ + type MessageCreatedEventData = { + /** The new message. */ + message?: GoogleChat.Message; + }; + /** Event payload for a deleted message. Event type: `google.workspace.chat.message.v1.deleted` */ + type MessageDeletedEventData = { + /** The deleted message. Only the `name`, `createTime`, and `deletionMetadata` fields are populated. */ + message?: GoogleChat.Message; + }; + /** Event payload for an updated message. Event type: `google.workspace.chat.message.v1.updated` */ + type MessageUpdatedEventData = { + /** The updated message. */ + message?: GoogleChat.Message; + }; + /** Request message for moving a section item across sections. */ + type MoveSectionItemRequest = { + /** Required. The resource name of the section to move the section item to. Format: `users/{user}/sections/{section}` */ + targetSection?: string; + }; + /** Response message for moving a section item. */ + type MoveSectionItemResponse = { + /** The updated section item. */ + sectionItem?: GoogleChat.SectionItem; + }; + /** An `onclick` action (for example, open a link). */ + type OnClick = { + /** A form action is triggered by this `onclick` action if specified. */ + action?: GoogleChat.FormAction; + /** This `onclick` action triggers an open link action if specified. */ + openLink?: GoogleChat.OpenLink; + }; + /** A link that opens a new window. */ + type OpenLink = { + /** The URL to open. */ + url?: string; + }; + /** Represents a space permission setting. */ + type PermissionSetting = { + /** Optional. Whether space managers `ROLE_ASSISTANT_MANAGER`) have this permission. */ + assistantManagersAllowed?: boolean; + /** Optional. Whether space owners (`ROLE_MANAGER`) have this permission. */ + managersAllowed?: boolean; + /** Optional. Whether basic space members (`ROLE_MEMBER`) have this permission. */ + membersAllowed?: boolean; + }; + /** [Permission settings](https://support.google.com/chat/answer/13340792) that you can specify when updating an existing named space. To set permission settings when creating a space, specify the `PredefinedPermissionSettings` field in your request. */ + type PermissionSettings = { + /** Optional. Setting for managing apps in a space. */ + manageApps?: GoogleChat.PermissionSetting; + /** Optional. Setting for managing members and groups in a space. */ + manageMembersAndGroups?: GoogleChat.PermissionSetting; + /** Optional. Setting for managing webhooks in a space. */ + manageWebhooks?: GoogleChat.PermissionSetting; + /** Optional. Setting for updating space name, avatar, description and guidelines. */ + modifySpaceDetails?: GoogleChat.PermissionSetting; + /** Output only. Setting for posting messages in a space. */ + postMessages?: GoogleChat.PermissionSetting; + /** Optional. Setting for replying to messages in a space. */ + replyMessages?: GoogleChat.PermissionSetting; + /** Optional. Setting for toggling space history on and off. */ + toggleHistory?: GoogleChat.PermissionSetting; + /** Optional. Setting for using @all in a space. */ + useAtMentionAll?: GoogleChat.PermissionSetting; + }; + /** Request message for positioning a section. */ + type PositionSectionRequest = { + /** Optional. The relative position of the section in the list of sections. */ + relativePosition?: "POSITION_UNSPECIFIED" | "START" | "END"; + /** Optional. The absolute position of the section in the list of sections. The position must be greater than 0. If the position is greater than the number of sections, the section will be appended to the end of the list. This operation inserts the section at the given position and shifts the original section at that position, and those below it, to the next position. */ + sortOrder?: number; + }; + /** Response message for positioning a section. */ + type PositionSectionResponse = { + /** The updated section. */ + section?: GoogleChat.GoogleChatV1Section; + }; + /** A principal representing an entity granted access. */ + type Principal = { + /** An audience. */ + audience?: GoogleChat.Audience; + }; + /** Information about a message that another message quotes. When you update a message, you can't add or replace the `quotedMessageMetadata` field, but you can remove it. For example usage, see [Quote another message](https://developers.google.com/workspace/chat/create-messages#quote-a-message). */ + type QuotedMessageMetadata = { + /** Output only. Metadata about the source space of the quoted message. Populated only for FORWARD quote type. */ + forwardedMetadata?: GoogleChat.ForwardedMetadata; + /** Required. The timestamp when the quoted message was created or when the quoted message was last updated. If the message was edited, use this field, `last_update_time`. If the message was never edited, use `create_time`. If `last_update_time` doesn't match the latest version of the quoted message, the request fails. */ + lastUpdateTime?: string; + /** Required. Resource name of the message that is quoted. Format: `spaces/{space}/messages/{message}` */ + name?: string; + /** Output only. A snapshot of the quoted message's content. */ + quotedMessageSnapshot?: GoogleChat.QuotedMessageSnapshot; + /** Optional. Specifies the quote type. If not set, defaults to REPLY in the message read/write path for backward compatibility. */ + quoteType?: "QUOTE_TYPE_UNSPECIFIED" | "REPLY" | "FORWARD"; + }; + /** Provides a snapshot of the content of the quoted message at the time of quoting or forwarding */ + type QuotedMessageSnapshot = { + /** Output only. Annotations parsed from the text body of the quoted message. Populated only for FORWARD quote type. */ + annotations?: Array; + /** Output only. Attachments that were part of the quoted message. These are copies of the quoted message's attachment metadata. Populated only for FORWARD quote type. */ + attachments?: Array; + /** Output only. Contains the quoted message `text` with markups added to support rich formatting like hyperlinks,custom emojis, markup, etc. Populated only for FORWARD quote type. */ + formattedText?: string; + /** Output only. The quoted message's author name. Populated for both REPLY & FORWARD quote types. */ + sender?: string; + /** Output only. Snapshot of the quoted message's text content. */ + text?: string; + }; + /** A reaction to a message. */ + type Reaction = { + /** Required. The emoji used in the reaction. */ + emoji?: GoogleChat.Emoji; + /** Identifier. The resource name of the reaction. Format: `spaces/{space}/messages/{message}/reactions/{reaction}` */ + name?: string; + /** Output only. The user who created the reaction. */ + user?: GoogleChat.User; + }; + /** Event payload for multiple new reactions. Event type: `google.workspace.chat.reaction.v1.batchCreated` */ + type ReactionBatchCreatedEventData = { + /** A list of new reactions. */ + reactions?: Array; + }; + /** Event payload for multiple deleted reactions. Event type: `google.workspace.chat.reaction.v1.batchDeleted` */ + type ReactionBatchDeletedEventData = { + /** A list of deleted reactions. */ + reactions?: Array; + }; + /** Event payload for a new reaction. Event type: `google.workspace.chat.reaction.v1.created` */ + type ReactionCreatedEventData = { + /** The new reaction. */ + reaction?: GoogleChat.Reaction; + }; + /** Event payload for a deleted reaction. Type: `google.workspace.chat.reaction.v1.deleted` */ + type ReactionDeletedEventData = { + /** The deleted reaction. */ + reaction?: GoogleChat.Reaction; + }; + /** A rich link to a resource. Rich links can be associated with the plain-text body of the message or represent chips that link to Google Workspace resources like Google Docs or Sheets with `start_index` and `length` of 0. */ + type RichLinkMetadata = { + /** Data for a Calendar event link. */ + calendarEventLinkData?: GoogleChat.CalendarEventLinkData; + /** Data for a chat space link. */ + chatSpaceLinkData?: GoogleChat.ChatSpaceLinkData; + /** Data for a drive link. */ + driveLinkData?: GoogleChat.DriveLinkData; + /** Data for a Meet space link. */ + meetSpaceLinkData?: GoogleChat.MeetSpaceLinkData; + /** The rich link type. */ + richLinkType?: "RICH_LINK_TYPE_UNSPECIFIED" | "DRIVE_FILE" | "CHAT_SPACE" | "GMAIL_MESSAGE" | "MEET_SPACE" | "CALENDAR_EVENT"; + /** The URI of this link. */ + uri?: string; + }; + /** A single result item from a message search. */ + type SearchMessageResult = { + /** The matched message. */ + message?: GoogleChat.Message; + /** Indicates if the matched message is read by the calling user. Only returned if the request view is `SEARCH_MESSAGES_VIEW_FULL` and the calling credentials include one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate.readonly` - `https://www.googleapis.com/auth/chat.users.readstate` */ + read?: boolean; + /** The mute setting of the calling user for the space where the message is posted. The caller app can use this information to decide how to process the message depending on whether the space is muted for the user or not. Only returned if the request view is `SEARCH_MESSAGES_VIEW_FULL` and the calling credentials include the following [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.spacesettings` */ + spaceMuteSetting?: "MUTE_SETTING_UNSPECIFIED" | "UNMUTED" | "MUTED"; + }; + /** Request message for searching messages. */ + type SearchMessagesRequest = { + /** Required. A search query. The query can specify one or more search keywords, which are used to filter the results, You can also filter the results using the following message fields: - `create_time`: Accepts a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and the supported comparison operators are: `<` and `>=`. - `sender.name`: The resource name of the sender (`users/{user}`). Only supports `=`. You can use the e-mail as an alias for `{user}`. For example, `users/example@gmail.com`, where `example@gmail.com` is the e-mail of the Google Chat user. - `space.name`: The resource name of the space where the message is posted. (`spaces/{space}`). Only supports `=`. If this filter is not set, the search is performed across all direct messages and spaces the user has access to as a space member. - `space.display_name`: Supports the operator `:` (has) and filters spaces based on a partial match of their display name. Results are limited to the top five space matches. For example, `space.display_name:Project` searches for messages in the top five spaces that contain the word "Project" in their display names. - `attachment`: Supports the operator `:*` (has any) to check for the presence of attachments. If `attachment:*` is specified, only messages that have at least one attachment are returned. - `annotations.user_mentions.user.name`: The resource name of the mentioned user (`users/{user}`). Only supports `:` (has). For example: `annotations.user_mentions.user.name:"users/1234567890"` returns only messages that contain a mention to the specified user. Alternatively, the alias `me` can be used to filter for messages that mention the caller user, for example: `annotations.user_mentions.user.name:users/me`. You can also use the e-mail as an alias for `{user}`, for example, `users/example@gmail.com`. For advanced filtering, the following functions are also available: - `has_link()`: Returns only messages that have at least one hyperlink in the message text. - `is_unread()`: Filters out messages that have been read by the calling user. Using the `space.display_name` filter requires that the calling credentials include one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.spaces.readonly` - `https://www.googleapis.com/auth/chat.spaces` Using the `is_unread()` filter requires that the calling credentials include one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate.readonly` - `https://www.googleapis.com/auth/chat.users.readstate` Across different fields, only `AND` operators are supported. A valid example is `sender.name = "users/1234567890" AND is_unread()`. The word `AND` is optional and is implied if omitted. For example, `sender.name = "users/1234567890" is_unread()` is valid and is equivalent to the previous example. An invalid example is `sender.name = "users/1234567890" OR is_unread()` because `OR` is not supported between different fields. Among the same field: - `create_time` supports only `AND`, and can only be used to represent an interval, such as `create_time >= "2022-01-01T00:00:00+00:00" AND create_time < "2023-01-01T00:00:00+00:00"`. - `sender.name` supports only the `OR` operator, for example: `sender.name = "users/1234567890" OR sender.name = "users/0987654321"`. - `space.name` supports only the `OR` operator, for example: `space.name = "spaces/ABCDEFGH" OR space.name = "spaces/QWERTYUI"`. - `space.display_name` supports the operators `AND` and `OR`, but not a mix of both. For example: `space.display_name:Project AND space.display_name:Tasks` returns messages that are in spaces with display names containing both `Project` and `Tasks`, whereas `space.display_name:Project OR space.display_name:Tasks` returns messages that are in spaces with display names containing either `Project` or `Tasks` or both. - `annotations.user_mentions.user.name` supports the operators `AND` and `OR`, but not a mix of both. For example: `annotations.user_mentions.user.name:"users/1234567890" AND annotations.user_mentions.user.name:"users/0987654321"` returns only messages that mentions both users, whereas `annotations.user_mentions.user.name:"users/1234567890" OR annotations.user_mentions.user.name:"users/0987654321"` returns messages that mention either user or both. Parentheses are required to disambiguate operator precedence when combining `AND` and `OR` operators in the same query. For example: `(sender.name="users/me" OR sender.name="users/123456") AND is_unread()`. Otherwise, parentheses are optional. The following example queries are valid: ``` "Pending reports" AND create_time >= "2023-01-01T00:00:00Z" sender.name = "users/example@gmail.com" annotations.user_mentions.user.name:"users/0987654321" attachment:* AND space.name = "spaces/ABCDEFGH" tasks AND is_unread() AND sender.name = "users/1234567890" "things to do" "urgent" (sender.name = "users/1234567890") AND (create_time < "2023-05-01T00:00:00Z") tasks AND space.name = "spaces/ABCDEFGH" AND has_link() "project one" is_unread() space.display_name:Project tasks ``` The maximum query length is 1,000 characters. Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error. */ + filter?: string; + /** Optional. Specifies the desired output syntax for the Chat message `formatted_text` field. */ + markupSyntax?: "MARKUP_SYNTAX_UNSPECIFIED" | "MARKUP_SYNTAX_CHAT" | "MARKUP_SYNTAX_MARKDOWN"; + /** Optional. How the results list is ordered. Supported attributes to order by are: - `create_time`: Sorts the results by the time of the message creation. Default value. - `relevance`: Sorts the results by relevance. [Developer Preview](https://developers.google.com/workspace/preview). The default ordering is `create_time desc`. Only a single order per query (`create_time` or `relevance`) is supported. Only descending order (`desc`) is supported, and it must be specified after the order attribute. */ + orderBy?: string; + /** Optional. The maximum number of results to return. The service may return fewer than this value. If unspecified, at most 25 are returned. The maximum value is 100. If you use a value more than 100, it's automatically changed to 100. */ + pageSize?: number; + /** Optional. A token, received from the previous search messages call. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results. */ + pageToken?: string; + /** Optional. Specifies what kind of search results view to return. The default is `SEARCH_MESSAGES_VIEW_BASIC`. */ + view?: "SEARCH_MESSAGES_VIEW_UNSPECIFIED" | "SEARCH_MESSAGES_VIEW_BASIC" | "SEARCH_MESSAGES_VIEW_FULL"; + }; + /** Response message for searching messages. */ + type SearchMessagesResponse = { + /** A token that can be used to retrieve the next page. If this field is empty, there are no subsequent pages. */ + nextPageToken?: string; + /** The list of search results that matched the query. */ + results?: Array; + }; + /** A single result item from a space search. */ + type SearchSpaceResult = { + /** Output only. The matched space. */ + space?: GoogleChat.Space; + }; + /** Response with a list of spaces corresponding to the search spaces request. */ + type SearchSpacesResponse = { + /** A token that can be used to retrieve the next page. If this field is empty, there are no subsequent pages. */ + nextPageToken?: string; + /** Output only. The list of search results that matched the query. */ + results?: Array; + /** Deprecated: Please use the new `results` field instead. A page of the requested spaces. This field will be populated only when `useAdminAccess` is set to `true` and deprecated in favor of the new `results` field. */ + spaces?: Array; + /** The total number of spaces that match the query, across all pages. If the result is over 10,000 spaces, this value is an estimate. */ + totalSize?: number; + }; + /** A section contains a collection of widgets that are rendered (vertically) in the order that they are specified. Across all platforms, cards have a narrow fixed width, so there's currently no need for layout properties (for example, float). */ + type Section = { + /** The header of the section. Formatted text is supported. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). */ + header?: string; + /** A section must contain at least one widget. */ + widgets?: Array; + }; + /** A user's defined section item. This is used to represent section items, such as spaces, grouped under a section. */ + type SectionItem = { + /** Identifier. The resource name of the section item. Format: `users/{user}/sections/{section}/items/{item}` */ + name?: string; + /** Optional. The space resource name. Format: `spaces/{space}` */ + space?: string; + }; + /** List of widget autocomplete results. */ + type SelectionItems = { + /** An array of the SelectionItem objects. */ + items?: Array; + }; + /** Request to create a space and add specified users to it. */ + type SetUpSpaceRequest = { + /** Optional. The Google Chat users or groups to invite to join the space. Omit the calling user, as they are added automatically. The set currently allows up to 49 memberships (in addition to the caller). For human membership, the `Membership.member` field must contain a `user` with `name` populated (format: `users/{user}`) and `type` set to `User.Type.HUMAN`. You can only add human users when setting up a space (adding Chat apps is only supported for direct message setup with the calling app). You can also add members using the user's email as an alias for {user}. For example, the `user.name` can be `users/example@gmail.com`. To invite Gmail users or users from external Google Workspace domains, user's email must be used for `{user}`. For Google group membership, the `Membership.group_member` field must contain a `group` with `name` populated (format `groups/{group}`). You can only add Google groups when setting `Space.spaceType` to `SPACE`. Optional when setting `Space.spaceType` to `SPACE`. Required when setting `Space.spaceType` to `GROUP_CHAT`, along with at least two memberships. Required when setting `Space.spaceType` to `DIRECT_MESSAGE` with a human user, along with exactly one membership. Must be empty when creating a 1:1 conversation between a human and the calling Chat app (when setting `Space.spaceType` to `DIRECT_MESSAGE` and `Space.singleUserBotDm` to `true`). */ + memberships?: Array; + /** Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error. */ + requestId?: string; + /** Required. The `Space.spaceType` field is required. To create a space, set `Space.spaceType` to `SPACE` and set `Space.displayName`. 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. To create a group chat, set `Space.spaceType` to `GROUP_CHAT`. Don't set `Space.displayName`. To create a 1:1 conversation between humans, set `Space.spaceType` to `DIRECT_MESSAGE` and set `Space.singleUserBotDm` to `false`. Don't set `Space.displayName` or `Space.spaceDetails`. To create an 1:1 conversation between a human and the calling Chat app, set `Space.spaceType` to `DIRECT_MESSAGE` and `Space.singleUserBotDm` to `true`. Don't set `Space.displayName` or `Space.spaceDetails`. If a `DIRECT_MESSAGE` space already exists, that space is returned instead of creating a new space. */ + space?: GoogleChat.Space; + }; + /** Metadata about a [slash command](https://developers.google.com/workspace/chat/commands) in Google Chat. */ + type SlashCommand = { + /** The ID of the slash command. */ + commandId?: string; + }; + /** Annotation metadata for slash commands (/). */ + type SlashCommandMetadata = { + /** The Chat app whose command was invoked. */ + bot?: GoogleChat.User; + /** The command ID of the invoked slash command. */ + commandId?: string; + /** The name of the invoked slash command. */ + commandName?: string; + /** Indicates whether the slash command is for a dialog. */ + triggersDialog?: boolean; + /** The type of slash command. */ + type?: "TYPE_UNSPECIFIED" | "ADD" | "INVOKE"; + }; + /** A space in Google Chat. Spaces are conversations between two or more users or 1:1 messages between a user and a Chat app. */ + type Space = { + /** Optional. Specifies the [access setting](https://support.google.com/chat/answer/11971020) of the space. Only populated when the `space_type` is `SPACE`. */ + accessSettings?: GoogleChat.AccessSettings; + /** Output only. For direct message (DM) spaces with a Chat app, whether the space was created by a Google Workspace administrator. Administrators can install and set up a direct message with a Chat app on behalf of users in their organization. To support admin install, your Chat app must feature direct messaging. */ + adminInstalled?: boolean; + /** Optional. Immutable. For spaces created in Chat, the time the space was created. This field is output only, except when used in import mode spaces. For import mode spaces, set this field to the historical timestamp at which the space was created in the source in order to preserve the original creation time. Only populated in the output when `spaceType` is `GROUP_CHAT` or `SPACE`. */ + createTime?: string; + /** Optional. Immutable. The customer id of the domain of the space. Required only when creating a space with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and `SpaceType` is `SPACE`, otherwise should not be set. In the format `customers/{customer}`, where `customer` is the `id` from the [Admin SDK customer resource](https://developers.google.com/admin-sdk/directory/reference/rest/v1/customers). Private apps can also use the `customers/my_customer` alias to create the space in the same Google Workspace organization as the app. This field isn't populated for direct messages (DMs) or when the space is created by non-Google Workspace users. */ + customer?: string; + /** Optional. The space's display name. Required when [creating a space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/create) with a `spaceType` of `SPACE`. If you receive the error message `ALREADY_EXISTS` when creating a space or updating the `displayName`, try a different `displayName`. An existing space within the Google Workspace organization might already use this display name. For direct messages, this field might be empty. Supports up to 128 characters. */ + displayName?: string; + /** Optional. Immutable. Whether this space permits any Google Chat user as a member. Input when creating a space in a Google Workspace organization. Omit this field when creating spaces in the following conditions: * The authenticated user uses a consumer account (unmanaged user account). By default, a space created by a consumer account permits any Google Chat user. For existing spaces, this field is output only. */ + externalUserAllowed?: boolean; + /** Optional. Whether this space is created in `Import Mode` as part of a data migration into Google Workspace. While spaces are being imported, they aren't visible to users until the import is complete. Creating a space in `Import Mode`requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). */ + importMode?: boolean; + /** Output only. The time when the space will be automatically deleted by the system if it remains in import mode. Each space created in import mode must exit this mode before this expire time using `spaces.completeImport`. This field is only populated for spaces that were created with import mode. */ + importModeExpireTime?: string; + /** Output only. Timestamp of the last message in the space. */ + lastActiveTime?: string; + /** Output only. The count of joined memberships grouped by member type. Populated when the `space_type` is `SPACE`, `DIRECT_MESSAGE` or `GROUP_CHAT`. */ + membershipCount?: GoogleChat.MembershipCount; + /** Identifier. Resource name of the space. Format: `spaces/{space}` Where `{space}` represents the system-assigned ID for the space. You can obtain the space ID by calling the [`spaces.list()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/list) method or from the space URL. For example, if the space URL is `https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA`, the space ID is `AAAAAAAAA`. */ + name?: string; + /** Optional. Space permission settings for existing spaces. Input for updating exact space permission settings, where existing permission settings are replaced. Output lists current permission settings. Reading and updating permission settings supports: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` scope. Only populated and settable when the Chat app created the space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) */ + permissionSettings?: GoogleChat.PermissionSettings; + /** Optional. Input only. Predefined space permission settings, input only when creating a space. If the field is not set, a collaboration space is created. After you create the space, settings are populated in the `PermissionSettings` field. Setting predefined permission settings supports: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) with the `chat.app.spaces` or `chat.app.spaces.create` scopes. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) */ + predefinedPermissionSettings?: "PREDEFINED_PERMISSION_SETTINGS_UNSPECIFIED" | "COLLABORATION_SPACE" | "ANNOUNCEMENT_SPACE"; + /** Optional. Whether the space is a DM between a Chat app and a single human. */ + singleUserBotDm?: boolean; + /** Optional. Details about the space including description and rules. */ + spaceDetails?: GoogleChat.SpaceDetails; + /** Optional. The message history state for messages and threads in this space. */ + spaceHistoryState?: "HISTORY_STATE_UNSPECIFIED" | "HISTORY_OFF" | "HISTORY_ON"; + /** Output only. The threading state in the Chat space. */ + spaceThreadingState?: "SPACE_THREADING_STATE_UNSPECIFIED" | "THREADED_MESSAGES" | "GROUPED_MESSAGES" | "UNTHREADED_MESSAGES"; + /** Optional. The type of space. Required when creating a space or updating the space type of a space. Output only for other usage. */ + spaceType?: "SPACE_TYPE_UNSPECIFIED" | "SPACE" | "GROUP_CHAT" | "DIRECT_MESSAGE"; + /** Output only. The URI for a user to access the space. */ + spaceUri?: string; + /** Output only. Deprecated: Use `spaceThreadingState` instead. Whether messages are threaded in this space. */ + threaded?: boolean; + /** Output only. Deprecated: Use `space_type` instead. The type of a space. */ + type?: "TYPE_UNSPECIFIED" | "ROOM" | "DM"; + }; + /** Event payload for multiple updates to a space. Event type: `google.workspace.chat.space.v1.batchUpdated` */ + type SpaceBatchUpdatedEventData = { + /** A list of updated spaces. */ + spaces?: Array; + }; + /** A data source that populates Google Chat spaces as selection items for a multiselect menu. Only populates spaces that the user is a member of. [Google Chat apps](https://developers.google.com/workspace/chat): */ + type SpaceDataSource = { + /** If set to `true`, the multiselect menu selects the current Google Chat space as an item by default. */ + defaultToCurrentSpace?: boolean; + }; + /** Details about the space including description and rules. */ + type SpaceDetails = { + /** Optional. A description of the space. For example, describe the space's discussion topic, functional purpose, or participants. Supports up to 150 characters. */ + description?: string; + /** Optional. The space's rules, expectations, and etiquette. Supports up to 5,000 characters. */ + guidelines?: string; + }; + /** An event that represents a change or activity in a Google Chat space. To learn more, see [Work with events from Google Chat](https://developers.google.com/workspace/chat/events-overview). */ + type SpaceEvent = { + /** Time when the event occurred. */ + eventTime?: string; + /** Type of space event. Each event type has a batch version, which represents multiple instances of the event type that occur in a short period of time. For `spaceEvents.list()` requests, omit batch event types in your query filter. By default, the server returns both event type and its batch version. Supported event types for [messages](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages): * New message: `google.workspace.chat.message.v1.created` * Updated message: `google.workspace.chat.message.v1.updated` * Deleted message: `google.workspace.chat.message.v1.deleted` * Multiple new messages: `google.workspace.chat.message.v1.batchCreated` * Multiple updated messages: `google.workspace.chat.message.v1.batchUpdated` * Multiple deleted messages: `google.workspace.chat.message.v1.batchDeleted` Supported event types for [memberships](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.members): * New membership: `google.workspace.chat.membership.v1.created` * Updated membership: `google.workspace.chat.membership.v1.updated` * Deleted membership: `google.workspace.chat.membership.v1.deleted` * Multiple new memberships: `google.workspace.chat.membership.v1.batchCreated` * Multiple updated memberships: `google.workspace.chat.membership.v1.batchUpdated` * Multiple deleted memberships: `google.workspace.chat.membership.v1.batchDeleted` Supported event types for [reactions](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages.reactions): * New reaction: `google.workspace.chat.reaction.v1.created` * Deleted reaction: `google.workspace.chat.reaction.v1.deleted` * Multiple new reactions: `google.workspace.chat.reaction.v1.batchCreated` * Multiple deleted reactions: `google.workspace.chat.reaction.v1.batchDeleted` Supported event types about the [space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces): * Updated space: `google.workspace.chat.space.v1.updated` * Multiple space updates: `google.workspace.chat.space.v1.batchUpdated` */ + eventType?: string; + /** Event payload for multiple new memberships. Event type: `google.workspace.chat.membership.v1.batchCreated` */ + membershipBatchCreatedEventData?: GoogleChat.MembershipBatchCreatedEventData; + /** Event payload for multiple deleted memberships. Event type: `google.workspace.chat.membership.v1.batchDeleted` */ + membershipBatchDeletedEventData?: GoogleChat.MembershipBatchDeletedEventData; + /** Event payload for multiple updated memberships. Event type: `google.workspace.chat.membership.v1.batchUpdated` */ + membershipBatchUpdatedEventData?: GoogleChat.MembershipBatchUpdatedEventData; + /** Event payload for a new membership. Event type: `google.workspace.chat.membership.v1.created` */ + membershipCreatedEventData?: GoogleChat.MembershipCreatedEventData; + /** Event payload for a deleted membership. Event type: `google.workspace.chat.membership.v1.deleted` */ + membershipDeletedEventData?: GoogleChat.MembershipDeletedEventData; + /** Event payload for an updated membership. Event type: `google.workspace.chat.membership.v1.updated` */ + membershipUpdatedEventData?: GoogleChat.MembershipUpdatedEventData; + /** Event payload for multiple new messages. Event type: `google.workspace.chat.message.v1.batchCreated` */ + messageBatchCreatedEventData?: GoogleChat.MessageBatchCreatedEventData; + /** Event payload for multiple deleted messages. Event type: `google.workspace.chat.message.v1.batchDeleted` */ + messageBatchDeletedEventData?: GoogleChat.MessageBatchDeletedEventData; + /** Event payload for multiple updated messages. Event type: `google.workspace.chat.message.v1.batchUpdated` */ + messageBatchUpdatedEventData?: GoogleChat.MessageBatchUpdatedEventData; + /** Event payload for a new message. Event type: `google.workspace.chat.message.v1.created` */ + messageCreatedEventData?: GoogleChat.MessageCreatedEventData; + /** Event payload for a deleted message. Event type: `google.workspace.chat.message.v1.deleted` */ + messageDeletedEventData?: GoogleChat.MessageDeletedEventData; + /** Event payload for an updated message. Event type: `google.workspace.chat.message.v1.updated` */ + messageUpdatedEventData?: GoogleChat.MessageUpdatedEventData; + /** Resource name of the space event. Format: `spaces/{space}/spaceEvents/{spaceEvent}` */ + name?: string; + /** Event payload for multiple new reactions. Event type: `google.workspace.chat.reaction.v1.batchCreated` */ + reactionBatchCreatedEventData?: GoogleChat.ReactionBatchCreatedEventData; + /** Event payload for multiple deleted reactions. Event type: `google.workspace.chat.reaction.v1.batchDeleted` */ + reactionBatchDeletedEventData?: GoogleChat.ReactionBatchDeletedEventData; + /** Event payload for a new reaction. Event type: `google.workspace.chat.reaction.v1.created` */ + reactionCreatedEventData?: GoogleChat.ReactionCreatedEventData; + /** Event payload for a deleted reaction. Event type: `google.workspace.chat.reaction.v1.deleted` */ + reactionDeletedEventData?: GoogleChat.ReactionDeletedEventData; + /** Event payload for multiple updates to a space. Event type: `google.workspace.chat.space.v1.batchUpdated` */ + spaceBatchUpdatedEventData?: GoogleChat.SpaceBatchUpdatedEventData; + /** Event payload for a space update. Event type: `google.workspace.chat.space.v1.updated` */ + spaceUpdatedEventData?: GoogleChat.SpaceUpdatedEventData; + }; + /** The notification setting of a user in a space. */ + type SpaceNotificationSetting = { + /** The space notification mute setting. */ + muteSetting?: "MUTE_SETTING_UNSPECIFIED" | "UNMUTED" | "MUTED"; + /** Identifier. The resource name of the space notification setting. Format: `users/{user}/spaces/{space}/spaceNotificationSetting`. */ + name?: string; + /** The notification setting. */ + notificationSetting?: "NOTIFICATION_SETTING_UNSPECIFIED" | "ALL" | "MAIN_CONVERSATIONS" | "FOR_YOU" | "OFF"; + }; + /** A user's read state within a space, used to identify read and unread messages. */ + type SpaceReadState = { + /** Optional. The time when the user's space read state was updated. Usually this corresponds with either the timestamp of the last read message, or a timestamp specified by the user to mark the last read position in a space. */ + lastReadTime?: string; + /** Resource name of the space read state. Format: `users/{user}/spaces/{space}/spaceReadState` */ + name?: string; + }; + /** Event payload for an updated space. Event type: `google.workspace.chat.space.v1.updated` */ + type SpaceUpdatedEventData = { + /** The updated space. */ + space?: GoogleChat.Space; + }; + /** The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). */ + type Status = { + /** The status code, which should be an enum value of google.rpc.Code. */ + code?: number; + /** A list of messages that carry the error details. There is a common set of message types for APIs to use. */ + details?: Array>; + /** A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ + message?: string; + }; + /** Input parameter for regular widgets. For single-valued widgets, it is a single value list. For multi-valued widgets, such as checkbox, all the values are presented. */ + type StringInputs = { + /** An list of strings entered by the user. */ + value?: Array; + }; + /** A button with text and `onclick` action. */ + type TextButton = { + /** The `onclick` action of the button. */ + onClick?: GoogleChat.OnClick; + /** The text of the button. */ + text?: string; + }; + /** A paragraph of text. Formatted text supported. For more information about formatting text, see [Formatting text in Google Chat apps](https://developers.google.com/workspace/chat/format-messages#card-formatting) and [Formatting text in Google Workspace Add-ons](https://developers.google.com/apps-script/add-ons/concepts/widgets#text_formatting). */ + type TextParagraph = { + text?: string; + }; + /** A thread in a Google Chat space. For example usage, see [Start or reply to a message thread](https://developers.google.com/workspace/chat/create-messages#create-message-thread). If you specify a thread when creating a message, you can set the [`messageReplyOption`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.messages/create#messagereplyoption) field to determine what happens if no matching thread is found. */ + type Thread = { + /** Identifier. Resource name of the thread. Example: `spaces/{space}/threads/{thread}` */ + name?: string; + /** Optional. Input for creating or updating a thread. Otherwise, output only. ID for the thread. Supports up to 4000 characters. This ID is unique to the Chat app that sets it. For example, if multiple Chat apps create a message using the same thread key, the messages are posted in different threads. To reply in a thread created by a person or another Chat app, specify the thread `name` field instead. */ + threadKey?: string; + }; + /** A user's read state within a thread, used to identify read and unread messages. */ + type ThreadReadState = { + /** The time when the user's thread read state was updated. Usually this corresponds with the timestamp of the last read message in a thread. */ + lastReadTime?: string; + /** Resource name of the thread read state. Format: `users/{user}/spaces/{space}/threads/{thread}/threadReadState` */ + name?: string; + }; + /** Time input values. */ + type TimeInput = { + /** The hour on a 24-hour clock. */ + hours?: number; + /** The number of minutes past the hour. Valid values are 0 to 59. */ + minutes?: number; + }; + /** The timezone ID and offset from Coordinated Universal Time (UTC). Only supported for the event types [`CARD_CLICKED`](https://developers.google.com/chat/api/reference/rest/v1/EventType#ENUM_VALUES.CARD_CLICKED) and [`SUBMIT_DIALOG`](https://developers.google.com/chat/api/reference/rest/v1/DialogEventType#ENUM_VALUES.SUBMIT_DIALOG). */ + type TimeZone = { + /** The [IANA TZ](https://www.iana.org/time-zones) time zone database code, such as "America/Toronto". */ + id?: string; + /** The user timezone offset, in milliseconds, from Coordinated Universal Time (UTC). */ + offset?: number; + }; + /** For `selectionInput` widgets, returns autocomplete suggestions for a multiselect menu. */ + type UpdatedWidget = { + /** List of widget autocomplete results */ + suggestions?: GoogleChat.SelectionItems; + /** The ID of the updated widget. The ID must match the one for the widget that triggered the update request. */ + widget?: string; + }; + /** Request to upload an attachment. */ + type UploadAttachmentRequest = { + /** Required. The filename of the attachment, including the file extension. */ + filename?: string; + }; + /** Response of uploading an attachment. */ + type UploadAttachmentResponse = { + /** Reference to the uploaded attachment. */ + attachmentDataRef?: GoogleChat.AttachmentDataRef; + }; + /** A user in Google Chat. When returned as an output from a request, if your Chat app [authenticates as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), the output for a `User` resource only populates the user's `name` and `type`. */ + type User = { + /** Output only. The user's display name. */ + displayName?: string; + /** Unique identifier of the user's Google Workspace domain. */ + domainId?: string; + /** Output only. When `true`, the user is deleted or their profile is not visible. */ + isAnonymous?: boolean; + /** Resource name for a Google Chat user. Format: `users/{user}`. `users/app` can be used as an alias for the calling app bot user. For human users, `{user}` is the same user identifier as: - the `id` for the [Person](https://developers.google.com/people/api/rest/v1/people) in the People API. For example, `users/123456789` in Chat API represents the same person as the `123456789` Person profile ID in People API. - the `id` for a [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) in the Admin SDK Directory API. - the user's email address can be used as an alias for `{user}` in API requests. For example, if the People API Person profile ID for `user@example.com` is `123456789`, you can use `users/user@example.com` as an alias to reference `users/123456789`. Only the canonical resource name (for example `users/123456789`) will be returned from the API. */ + name?: string; + /** User type. */ + type?: "TYPE_UNSPECIFIED" | "HUMAN" | "BOT"; + }; + /** Annotation metadata for user mentions (@). */ + type UserMentionMetadata = { + /** The type of user mention. */ + type?: "TYPE_UNSPECIFIED" | "ADD" | "MENTION"; + /** The user mentioned. */ + user?: GoogleChat.User; + }; + /** A widget is a UI element that presents text and images. */ + type WidgetMarkup = { + /** A list of buttons. Buttons is also `oneof data` and only one of these fields should be set. */ + buttons?: Array; + /** Display an image in this widget. */ + image?: GoogleChat.Image; + /** Display a key value item in this widget. */ + keyValue?: GoogleChat.KeyValue; + /** Display a text paragraph in this widget. */ + textParagraph?: GoogleChat.TextParagraph; + }; + /** * Only supported by Google Workspace Workflow, but not Google Chat apps or Google Workspace add-ons. In a `TextInput` or `SelectionInput` widget with MULTI_SELECT type or a `DateTimePicker`, provide data source from Google. */ + type WorkflowDataSourceMarkup = { + /** Whether to include variables from the previous step in the data source. */ + includeVariables?: boolean; + /** The type of data source. */ + type?: "UNKNOWN" | "USER" | "SPACE" | "USER_WITH_FREE_FORM"; + }; + type CustomEmojisCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleChat.CustomEmoji; + }; + type CustomEmojisDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Resource name of the custom emoji to delete. Format: `customEmojis/{customEmoji}` You can use the emoji name as an alias for `{customEmoji}`. For example, `customEmojis/:example-emoji:` where `:example-emoji:` is the emoji name for a custom emoji. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type CustomEmojisGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Resource name of the custom emoji. Format: `customEmojis/{customEmoji}` You can use the emoji name as an alias for `{customEmoji}`. For example, `customEmojis/:example-emoji:` where `:example-emoji:` is the emoji name for a custom emoji. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type CustomEmojisListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. A query filter. Supports filtering by creator. To filter by creator, you must specify a valid value. Currently only `creator("users/me")` and `NOT creator("users/me")` are accepted to filter custom emojis by whether they were created by the calling user or not. For example, the following query returns custom emojis created by the caller: ``` creator("users/me") ``` Invalid queries are rejected with an `INVALID_ARGUMENT` error. */ + filter?: string; + /** Optional. The maximum number of custom emojis returned. The service can return fewer custom emojis than this value. If unspecified, the default value is 25. The maximum value is 200; values above 200 are changed to 200. */ + pageSize?: number; + /** Optional. (If resuming from a previous query.) A page token received from a previous list custom emoji call. Provide this to retrieve the subsequent page. When paginating, the filter value should match the call that provided the page token. Passing a different value might lead to unexpected results. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type MediaDownloadParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Name of the media that is being downloaded. See ReadRequest.resource_name. */ + resourceName: string; + }; + type MediaUploadParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Resource name of the Chat space in which the attachment is uploaded. Format "spaces/{space}". */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleChat.UploadAttachmentRequest; + }; + type SpacesCompleteImportParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Resource name of the import mode space. Format: `spaces/{space}` */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleChat.CompleteImportSpaceRequest; + }; + type SpacesCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Optional. A unique identifier for this request. A random UUID is recommended. Specifying an existing request ID returns the space created with that ID instead of creating a new space. Specifying an existing request ID from the same Chat app with a different authenticated user returns an error. */ + requestId?: string; + requestBody?: GoogleChat.Space; + }; + type SpacesDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Resource name of the space to delete. Format: `spaces/{space}` */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.delete` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). */ + useAdminAccess?: boolean; + }; + type SpacesFindDirectMessageParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Resource name of the user to find direct message with. Format: `users/{user}`, where `{user}` is either the `id` for the [person](https://developers.google.com/people/api/rest/v1/people) from the People API, or the `id` for the [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) in the Directory API. For example, if the People API profile ID is `123456789`, you can find a direct message with that person by using `users/123456789` as the `name`. When [authenticated as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), you can use the email as an alias for `{user}`. For example, `users/example@gmail.com` where `example@gmail.com` is the email of the Google Chat user. */ + name?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type SpacesFindGroupChatsParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. The maximum number of spaces to return. The service might return fewer than this value. If unspecified, at most 10 spaces are returned. The maximum value is 30. If you use a value more than 30, it's automatically changed to 30. Negative values return an `INVALID_ARGUMENT` error. */ + pageSize?: number; + /** Optional. A page token, received from a previous call to find group chats. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the token. Passing different values may lead to unexpected results. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Requested space view type. If unset, defaults to `SPACE_VIEW_RESOURCE_NAME_ONLY`. Requests that specify `SPACE_VIEW_EXPANDED` must include scopes that allow reading space data, for example, https://www.googleapis.com/auth/chat.spaces or https://www.googleapis.com/auth/chat.spaces.readonly. */ + spaceView?: "SPACE_VIEW_UNSPECIFIED" | "SPACE_VIEW_RESOURCE_NAME_ONLY" | "SPACE_VIEW_EXPANDED"; + /** Optional. Resource names of all human users in group chat with the calling user. Chat apps can't be included in the request. The maximum number of users that can be specified in a single request is `49`. Format: `users/{user}`, where `{user}` is either the `id` for the [person](https://developers.google.com/people/api/rest/v1/people) from the People API, or the `id` for the [user](https://developers.google.com/admin-sdk/directory/reference/rest/v1/users) in the Directory API. For example, to find all group chats with the calling user and two other users, with People API profile IDs `123456789` and `987654321`, you can use `users/123456789` and `users/987654321`. You can also use the email as an alias for `{user}`. For example, `users/example@gmail.com` where `example@gmail.com` is the email of the Google Chat user. */ + users?: Array; + }; + type SpacesGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Resource name of the space, in the form `spaces/{space}`. Format: `spaces/{space}` */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.spaces` or `chat.admin.spaces.readonly` [OAuth 2.0 scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). */ + useAdminAccess?: boolean; + }; + type SpacesListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. A query filter. You can filter spaces by the space type ([`space_type`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#spacetype)). To filter by space type, you must specify valid enum value, such as `SPACE` or `GROUP_CHAT` (the `space_type` can't be `SPACE_TYPE_UNSPECIFIED`). To query for multiple space types, use the `OR` operator. For example, the following queries are valid: ``` space_type = "SPACE" spaceType = "GROUP_CHAT" OR spaceType = "DIRECT_MESSAGE" ``` Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error. */ + filter?: string; + /** Optional. The maximum number of spaces to return. The service might return fewer than this value. If unspecified, at most 100 spaces are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. Negative values return an `INVALID_ARGUMENT` error. */ + pageSize?: number; + /** Optional. A page token, received from a previous list spaces call. Provide this parameter to retrieve the subsequent page. When paginating, the filter value should match the call that provided the page token. Passing a different value may lead to unexpected results. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type SpacesPatchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Identifier. Resource name of the space. Format: `spaces/{space}` Where `{space}` represents the system-assigned ID for the space. You can obtain the space ID by calling the [`spaces.list()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/list) method or from the space URL. For example, if the space URL is `https://mail.google.com/mail/u/0/#chat/space/AAAAAAAAA`, the space ID is `AAAAAAAAA`. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The updated field paths, comma separated if there are multiple. You can update the following fields for a space: `space_details`: Updates the space's description and guidelines. You must pass both description and guidelines in the update request as `SpaceDetails`. If you only want to update one of the fields, pass the existing value for the other field. `display_name`: Only supports updating the display name for spaces where `spaceType` field is `SPACE`. If you receive the error message `ALREADY_EXISTS`, try a different value. An existing space within the Google Workspace organization might already use this display name. `space_type`: Only supports changing a `GROUP_CHAT` space type to `SPACE`. Include `display_name` together with `space_type` in the update mask and ensure that the specified space has a non-empty display name and the `SPACE` space type. Including the `space_type` mask and the `SPACE` type in the specified space when updating the display name is optional if the existing space already has the `SPACE` type. Trying to update the space type in other ways results in an invalid argument error. `space_type` is not supported with `useAdminAccess`. `space_history_state`: Updates [space history settings](https://support.google.com/chat/answer/7664687) by turning history on or off for the space. Only supported if history settings are enabled for the Google Workspace organization. To update the space history state, you must omit all other field masks in your request. `space_history_state` is not supported with `useAdminAccess`. `access_settings.audience`: Updates the [access setting](https://support.google.com/chat/answer/11971020) of who can discover the space, join the space, and preview the messages in named space where `spaceType` field is `SPACE`. If the existing space has a target audience, you can remove the audience and restrict space access by omitting a value for this field mask. To update access settings for a space, the authenticating user must be a space manager and omit all other field masks in your request. You can't update this field if the space is in [import mode](https://developers.google.com/workspace/chat/import-data-overview). To learn more, see [Make a space discoverable to specific users](https://developers.google.com/workspace/chat/space-target-audience). `access_settings.audience` is not supported with `useAdminAccess`. `access_settings.access_permission_settings`: Updates the [access permission settings](https://support.google.com/chat/answer/11971020) of who can discover and join the space where `spaceType` field is `SPACE`. Principals allowed to join the space must also be allowed to discover it. To update access permission settings for a space, the authenticating user must be a space manager or assistant manager and omit all other field masks in the request. You can't update this field if the space is in [import mode](https://developers.google.com/workspace/chat/import-data-overview). To learn more, see [Make a space discoverable to specific users](https://developers.google.com/workspace/chat/space-target-audience). `access_settings.access_permission_settings` is not supported with `useAdminAccess`. The supported field masks include: - `access_settings.access_permission_settings.discoverSpaceSetting` - `access_settings.access_permission_settings.joinSpaceSetting` `permission_settings`: Supports changing the [permission settings](https://support.google.com/chat/answer/13340792) of a space. When updating permission settings, you can only specify `permissionSettings` field masks; you cannot update other field masks at the same time. The supported field masks include: - `permission_settings.manageMembersAndGroups` - `permission_settings.modifySpaceDetails` - `permission_settings.toggleHistory` - `permission_settings.useAtMentionAll` - `permission_settings.manageApps` - `permission_settings.manageWebhooks` - `permission_settings.replyMessages` */ + updateMask?: string; + /** Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.spaces` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Some `FieldMask` values are not supported using admin access. For details, see the description of `update_mask`. */ + useAdminAccess?: boolean; + requestBody?: GoogleChat.Space; + }; + type SpacesSearchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. How the list of spaces is ordered. Supported attributes to order by are: - `membership_count.joined_direct_human_user_count` — Denotes the count of human users that have directly joined a space. - `last_active_time` — Denotes the time when last eligible item is added to any topic of this space. - `create_time` — Denotes the time of the space creation. When `useAdminAccess` is `false`, only `create_time` and `relevance` are supported for ordering. Only `DESC` is supported for these fields in non-admin searches. Valid ordering operation values are: - `ASC` for ascending. Default value. - `DESC` for descending. The supported syntax are when `useAdminAccess` is set to `true`: - `membership_count.joined_direct_human_user_count DESC` - `membership_count.joined_direct_human_user_count ASC` - `last_active_time DESC` - `last_active_time ASC` - `create_time DESC` - `create_time ASC` When `useAdminAccess` is set to `false`: - `create_time DESC` - `relevance DESC` [Developer Preview](https://developers.google.com/workspace/preview). */ + orderBy?: string; + /** The maximum number of spaces to return. The service may return fewer than this value. If unspecified, at most 100 spaces are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. */ + pageSize?: number; + /** A token, received from the previous search spaces call. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Required. A search query. You can search by using the following parameters when `useAdminAccess` is set to `true`: - `create_time` - `customer` - `display_name` - `external_user_allowed` - `last_active_time` - `space_history_state` - `space_type` When `useAdminAccess` is set to `false`: - `display_name` - `external_user_allowed` - `space_type` `create_time` and `last_active_time` accept a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and the supported comparison operators are: `=`, `<`, `>`, `<=`, `>=`. `customer` is required when `useAdminAccess` is set to `true`, and is used to indicate which customer to fetch spaces from. `customers/my_customer` is the only supported value. `display_name` only accepts the `HAS` (`:`) operator. The text to match is first tokenized into tokens and each token is prefix-matched case-insensitively and independently as a substring anywhere in the space's `display_name`. For example, `Fun Eve` matches `Fun event` or `The evening was fun`, but not `notFun event` or `even`. When `useAdminAccess` is set to `false`, `display_name` is required to retrieve meaningful results. Otherwise, the default behavior is to return an empty response. `external_user_allowed` accepts either `true` or `false`. `space_history_state` only accepts values from the [`historyState`] (https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces#Space.HistoryState) field of a `space` resource. `space_type` is required and the only valid value is `SPACE`. Across different fields, only `AND` operators are supported. A valid example is `space_type = "SPACE" AND display_name:"Hello"` and an invalid example is `space_type = "SPACE" OR display_name:"Hello"`. Among the same field, `space_type` doesn't support `AND` or `OR` operators. `display_name`, 'space_history_state', and 'external_user_allowed' only support `OR` operators. `last_active_time` and `create_time` support both `AND` and `OR` operators. `AND` can only be used to represent an interval, such as `last_active_time < "2022-01-01T00:00:00+00:00" AND last_active_time > "2023-01-01T00:00:00+00:00"`. The following example queries are valid when `useAdminAccess` is set to `true`: ``` customer = "customers/my_customer" AND space_type = "SPACE" customer = "customers/my_customer" AND space_type = "SPACE" AND display_name:"Hello World" customer = "customers/my_customer" AND space_type = "SPACE" AND (last_active_time < "2020-01-01T00:00:00+00:00" OR last_active_time > "2022-01-01T00:00:00+00:00") customer = "customers/my_customer" AND space_type = "SPACE" AND (display_name:"Hello World" OR display_name:"Fun event") AND (last_active_time > "2020-01-01T00:00:00+00:00" AND last_active_time < "2022-01-01T00:00:00+00:00") customer = "customers/my_customer" AND space_type = "SPACE" AND (create_time > "2019-01-01T00:00:00+00:00" AND create_time < "2020-01-01T00:00:00+00:00") AND (external_user_allowed = "true") AND (space_history_state = "HISTORY_ON" OR space_history_state = "HISTORY_OFF") ``` The following example queries are valid when `useAdminAccess` is set to `false`: ``` display_name:"Hello World" AND space_type = "SPACE" (display_name:"Hello" OR display_name:"Fun") AND space_type = "SPACE" (external_user_allowed = "true" AND space_type = "SPACE") // Returns an empty response. (external_user_allowed = "true" AND display_name:"Hello" AND space_type = "SPACE") ``` */ + query?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires either the `chat.admin.spaces.readonly` or `chat.admin.spaces` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). */ + useAdminAccess?: boolean; + }; + type SpacesSetupParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleChat.SetUpSpaceRequest; + }; + type SpacesMembersCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The resource name of the space for which to create the membership. Format: spaces/{space} */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.memberships` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Creating app memberships or creating memberships for users outside the administrator's Google Workspace organization isn't supported using admin access. */ + useAdminAccess?: boolean; + requestBody?: GoogleChat.Membership; + }; + type SpacesMembersDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Resource name of the membership to delete. Chat apps can delete human users' or their own memberships. Chat apps can't delete other apps' memberships. When deleting a human membership, requires the `chat.memberships` scope with [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) or the `chat.memberships.app` scope with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) and the `spaces/{space}/members/{member}` format. You can use the email as an alias for `{member}`. For example, `spaces/{space}/members/example@gmail.com` where `example@gmail.com` is the email of the Google Chat user. When deleting an app membership, requires the `chat.memberships.app` scope and `spaces/{space}/members/app` format. Format: `spaces/{space}/members/{member}` or `spaces/{space}/members/app`. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.memberships` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Deleting app memberships in a space isn't supported using admin access. */ + useAdminAccess?: boolean; + }; + type SpacesMembersGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Resource name of the membership to retrieve. To get the app's own membership [by using user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), you can optionally use `spaces/{space}/members/app`. Format: `spaces/{space}/members/{member}` or `spaces/{space}/members/app` You can use the user's email as an alias for `{member}`. For example, `spaces/{space}/members/example@gmail.com` where `example@gmail.com` is the email of the Google Chat user. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.memberships` or `chat.admin.memberships.readonly` [OAuth 2.0 scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Getting app memberships in a space isn't supported when using admin access. */ + useAdminAccess?: boolean; + }; + type SpacesMembersListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. A query filter. You can filter memberships by a member's role ([`role`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.members#membershiprole)) and type ([`member.type`](https://developers.google.com/workspace/chat/api/reference/rest/v1/User#type)). To filter by role, set `role` to `ROLE_MEMBER` or `ROLE_MANAGER`. To filter by type, set `member.type` to `HUMAN` or `BOT`. You can also filter for `member.type` using the `!=` operator. To filter by both role and type, use the `AND` operator. To filter by either role or type, use the `OR` operator. Either `member.type = "HUMAN"` or `member.type != "BOT"` is required when `use_admin_access` is set to true. Other member type filters will be rejected. For example, the following queries are valid: ``` role = "ROLE_MANAGER" OR role = "ROLE_MEMBER" member.type = "HUMAN" AND role = "ROLE_MANAGER" member.type != "BOT" ``` The following queries are invalid: ``` member.type = "HUMAN" AND member.type = "BOT" role = "ROLE_MANAGER" AND role = "ROLE_MEMBER" ``` Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error. */ + filter?: string; + /** Optional. The maximum number of memberships to return. The service might return fewer than this value. If unspecified, at most 100 memberships are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. Negative values return an `INVALID_ARGUMENT` error. */ + pageSize?: number; + /** Optional. A page token, received from a previous call to list memberships. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results. */ + pageToken?: string; + /** Required. The resource name of the space for which to fetch a membership list. Format: spaces/{space} */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Optional. When `true`, also returns memberships associated with a Google Group, in addition to other types of memberships. If a filter is set, Google Group memberships that don't match the filter criteria aren't returned. */ + showGroups?: boolean; + /** Optional. When `true`, also returns memberships associated with invited members, in addition to other types of memberships. If a filter is set, invited memberships that don't match the filter criteria aren't returned. Currently requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). */ + showInvited?: boolean; + /** Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires either the `chat.admin.memberships.readonly` or `chat.admin.memberships` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). Listing app memberships in a space isn't supported when using admin access. */ + useAdminAccess?: boolean; + }; + type SpacesMembersPatchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Identifier. Resource name of the membership, assigned by the server. Format: `spaces/{space}/members/{member}` */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The field paths to update. Separate multiple values with commas or use `*` to update all field paths. Currently supported field paths: - `role` */ + updateMask?: string; + /** Optional. When `true`, the method runs using the user's Google Workspace administrator privileges. The calling user must be a Google Workspace administrator with the [manage chat and spaces conversations privilege](https://support.google.com/a/answer/13369245). Requires the `chat.admin.memberships` [OAuth 2.0 scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes). */ + useAdminAccess?: boolean; + requestBody?: GoogleChat.Membership; + }; + type SpacesMessagesCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** The notification type for the message. */ + "createMessageNotificationOptions.notificationType"?: "NOTIFICATION_TYPE_NONE" | "NOTIFICATION_TYPE_FORCE_NOTIFY" | "NOTIFICATION_TYPE_SILENT"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. A custom ID for a message. Lets Chat apps get, update, or delete a message without needing to store the system-assigned ID in the message's resource name (represented in the message `name` field). The value for this field must meet the following requirements: * Begins with `client-`. For example, `client-custom-name` is a valid custom ID, but `custom-name` is not. * Contains up to 63 characters and only lowercase letters, numbers, and hyphens. * Is unique within a space. A Chat app can't use the same custom ID for different messages. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). */ + messageId?: string; + /** Optional. Specifies whether a message starts a thread or replies to one. Only supported in named spaces. When [responding to user interactions](https://developers.google.com/workspace/chat/receive-respond-interactions), this field is ignored. For interactions within a thread, the reply is created in the same thread. Otherwise, the reply is created as a new thread. */ + messageReplyOption?: "MESSAGE_REPLY_OPTION_UNSPECIFIED" | "REPLY_MESSAGE_FALLBACK_TO_NEW_THREAD" | "REPLY_MESSAGE_OR_FAIL"; + /** Required. The resource name of the space in which to create a message. Format: `spaces/{space}` */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Optional. A unique request ID for this message. Specifying an existing request ID returns the message created with that ID instead of creating a new message. */ + requestId?: string; + /** Optional. Deprecated: Use thread.thread_key instead. ID for the thread. Supports up to 4000 characters. To start or add to a thread, create a message and specify a `threadKey` or the thread.name. For example usage, see [Start or reply to a message thread](https://developers.google.com/workspace/chat/create-messages#create-message-thread). */ + threadKey?: string; + requestBody?: GoogleChat.Message; + }; + type SpacesMessagesDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. When `true`, deleting a message also deletes its threaded replies. When `false`, if a message has threaded replies, deletion fails. Only applies when [authenticating as a user](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user). Has no effect when [authenticating as a Chat app] (https://developers.google.com/workspace/chat/authenticate-authorize-chat-app). */ + force?: boolean; + /** Required. Resource name of the message. Format: `spaces/{space}/messages/{message}` If you've set a custom ID for your message, you can use the value from the `clientAssignedMessageId` field for `{message}`. For details, see [Name a message] (https://developers.google.com/workspace/chat/create-messages#name_a_created_message). */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type SpacesMessagesGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. Specifies the desired output syntax for the Chat message `formatted_text` field. */ + markupSyntax?: "MARKUP_SYNTAX_UNSPECIFIED" | "MARKUP_SYNTAX_CHAT" | "MARKUP_SYNTAX_MARKDOWN"; + /** Required. Resource name of the message. Format: `spaces/{space}/messages/{message}` If you've set a custom ID for your message, you can use the value from the `clientAssignedMessageId` field for `{message}`. For details, see [Name a message] (https://developers.google.com/workspace/chat/create-messages#name_a_created_message). */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type SpacesMessagesListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. A query filter. You can filter messages by date (`create_time`) and thread (`thread.name`). To filter messages by the date they were created, specify the `create_time` with a timestamp in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339) format and double quotation marks. For example, `"2023-04-21T11:30:00-04:00"`. You can use the greater than operator `>` to list messages that were created after a timestamp, or the less than operator `<` to list messages that were created before a timestamp. To filter messages within a time interval, use the `AND` operator between two timestamps. To filter by thread, specify the `thread.name`, formatted as `spaces/{space}/threads/{thread}`. You can only specify one `thread.name` per query. To filter by both thread and date, use the `AND` operator in your query. For example, the following queries are valid: ``` create_time > "2012-04-21T11:30:00-04:00" create_time > "2012-04-21T11:30:00-04:00" AND thread.name = spaces/AAAAAAAAAAA/threads/123 create_time > "2012-04-21T11:30:00+00:00" AND create_time < "2013-01-01T00:00:00+00:00" AND thread.name = spaces/AAAAAAAAAAA/threads/123 thread.name = spaces/AAAAAAAAAAA/threads/123 ``` Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error. */ + filter?: string; + /** Optional. Specifies the desired output syntax for the Chat message `formatted_text` field. */ + markupSyntax?: "MARKUP_SYNTAX_UNSPECIFIED" | "MARKUP_SYNTAX_CHAT" | "MARKUP_SYNTAX_MARKDOWN"; + /** Optional. How the list of messages is ordered. Specify a value to order by an ordering operation. Valid ordering operation values are as follows: - `ASC` for ascending. - `DESC` for descending. The default ordering is `create_time ASC`. */ + orderBy?: string; + /** Optional. The maximum number of messages returned. The service might return fewer messages than this value. If unspecified, at most 25 are returned. The maximum value is 1000. If you use a value more than 1000, it's automatically changed to 1000. Negative values return an `INVALID_ARGUMENT` error. */ + pageSize?: number; + /** Optional. A page token received from a previous list messages call. Provide this parameter to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results. */ + pageToken?: string; + /** Required. The resource name of the space to list messages from. Format: `spaces/{space}` */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Optional. Whether to include deleted messages. Deleted messages include deleted time and metadata about their deletion, but message content is unavailable. */ + showDeleted?: boolean; + }; + type SpacesMessagesPatchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Optional. If `true` and the message isn't found, a new message is created and `updateMask` is ignored. The specified message ID must be [client-assigned](https://developers.google.com/workspace/chat/create-messages#name_a_created_message) or the request fails. */ + allowMissing?: boolean; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Identifier. Resource name of the message. Format: `spaces/{space}/messages/{message}` Where `{space}` is the ID of the space where the message is posted and `{message}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The field paths to update. Separate multiple values with commas or use `*` to update all field paths. Currently supported field paths: - `text` - `attachment` - `cards` (Requires [app authentication](/chat/api/guides/auth/service-accounts).) - `cards_v2` (Requires [app authentication](/chat/api/guides/auth/service-accounts).) - `accessory_widgets` (Requires [app authentication](/chat/api/guides/auth/service-accounts).) - `quoted_message_metadata` (Only allows removal of the quoted message.) */ + updateMask?: string; + requestBody?: GoogleChat.Message; + }; + type SpacesMessagesSearchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The resource name of the space to search within. To search across all spaces the user has access to, set this field to `spaces/-`. Using any other value for `parent` results in an `INVALID_ARGUMENT` error. To limit the search to one or more spaces, use `space.name` or `space.display_name` in the `filter`. */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleChat.SearchMessagesRequest; + }; + type SpacesMessagesUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Optional. If `true` and the message isn't found, a new message is created and `updateMask` is ignored. The specified message ID must be [client-assigned](https://developers.google.com/workspace/chat/create-messages#name_a_created_message) or the request fails. */ + allowMissing?: boolean; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Identifier. Resource name of the message. Format: `spaces/{space}/messages/{message}` Where `{space}` is the ID of the space where the message is posted and `{message}` is a system-assigned ID for the message. For example, `spaces/AAAAAAAAAAA/messages/BBBBBBBBBBB.BBBBBBBBBBB`. If you set a custom ID when you create a message, you can use this ID to specify the message in a request by replacing `{message}` with the value from the `clientAssignedMessageId` field. For example, `spaces/AAAAAAAAAAA/messages/client-custom-name`. For details, see [Name a message](https://developers.google.com/workspace/chat/create-messages#name_a_created_message). */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The field paths to update. Separate multiple values with commas or use `*` to update all field paths. Currently supported field paths: - `text` - `attachment` - `cards` (Requires [app authentication](/chat/api/guides/auth/service-accounts).) - `cards_v2` (Requires [app authentication](/chat/api/guides/auth/service-accounts).) - `accessory_widgets` (Requires [app authentication](/chat/api/guides/auth/service-accounts).) - `quoted_message_metadata` (Only allows removal of the quoted message.) */ + updateMask?: string; + requestBody?: GoogleChat.Message; + }; + type SpacesMessagesAttachmentsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Resource name of the attachment, in the form `spaces/{space}/messages/{message}/attachments/{attachment}`. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type SpacesMessagesReactionsCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The message where the reaction is created. Format: `spaces/{space}/messages/{message}` */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleChat.Reaction; + }; + type SpacesMessagesReactionsDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Name of the reaction to delete. Format: `spaces/{space}/messages/{message}/reactions/{reaction}` */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type SpacesMessagesReactionsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. A query filter. You can filter reactions by [emoji](https://developers.google.com/workspace/chat/api/reference/rest/v1/Emoji) (either `emoji.unicode` or `emoji.custom_emoji.uid`) and [user](https://developers.google.com/workspace/chat/api/reference/rest/v1/User) (`user.name`). To filter reactions for multiple emojis or users, join similar fields with the `OR` operator, such as `emoji.unicode = "🙂" OR emoji.unicode = "👍"` and `user.name = "users/AAAAAA" OR user.name = "users/BBBBBB"`. To filter reactions by emoji and user, use the `AND` operator, such as `emoji.unicode = "🙂" AND user.name = "users/AAAAAA"`. If your query uses both `AND` and `OR`, group them with parentheses. For example, the following queries are valid: ``` user.name = "users/{user}" emoji.unicode = "🙂" emoji.custom_emoji.uid = "{uid}" emoji.unicode = "🙂" OR emoji.unicode = "👍" emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}" emoji.unicode = "🙂" AND user.name = "users/{user}" (emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}") AND user.name = "users/{user}" ``` The following queries are invalid: ``` emoji.unicode = "🙂" AND emoji.unicode = "👍" emoji.unicode = "🙂" AND emoji.custom_emoji.uid = "{uid}" emoji.unicode = "🙂" OR user.name = "users/{user}" emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}" OR user.name = "users/{user}" emoji.unicode = "🙂" OR emoji.custom_emoji.uid = "{uid}" AND user.name = "users/{user}" ``` Invalid queries are rejected with an `INVALID_ARGUMENT` error. */ + filter?: string; + /** Optional. The maximum number of reactions returned. The service can return fewer reactions than this value. If unspecified, the default value is 25. The maximum value is 200; values above 200 are changed to 200. */ + pageSize?: number; + /** Optional. (If resuming from a previous query.) A page token received from a previous list reactions call. Provide this to retrieve the subsequent page. When paginating, the filter value should match the call that provided the page token. Passing a different value might lead to unexpected results. */ + pageToken?: string; + /** Required. The message users reacted to. Format: `spaces/{space}/messages/{message}` */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type SpacesSpaceEventsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The resource name of the space event. Format: `spaces/{space}/spaceEvents/{spaceEvent}` */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type SpacesSpaceEventsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. A query filter. You must specify at least one event type (`event_type`) using the has `:` operator. To filter by multiple event types, use the `OR` operator. Omit batch event types in your filter. The request automatically returns any related batch events. For example, if you filter by new reactions (`google.workspace.chat.reaction.v1.created`), the server also returns batch new reactions events (`google.workspace.chat.reaction.v1.batchCreated`). For a list of supported event types, see the [`SpaceEvents` reference documentation](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.event_type). Optionally, you can also filter by start time (`start_time`) and end time (`end_time`): * `start_time`: Exclusive timestamp from which to start listing space events. You can list events that occurred up to 28 days ago. If unspecified, lists space events from the past 28 days. * `end_time`: Inclusive timestamp until which space events are listed. If unspecified, lists events up to the time of the request. To specify a start or end time, use the equals `=` operator and format in [RFC-3339](https://www.rfc-editor.org/rfc/rfc3339). To filter by both `start_time` and `end_time`, use the `AND` operator. For example, the following queries are valid: ``` start_time="2023-08-23T19:20:33+00:00" AND end_time="2023-08-23T19:21:54+00:00" ``` ``` start_time="2023-08-23T19:20:33+00:00" AND (event_types:"google.workspace.chat.space.v1.updated" OR event_types:"google.workspace.chat.message.v1.created") ``` The following queries are invalid: ``` start_time="2023-08-23T19:20:33+00:00" OR end_time="2023-08-23T19:21:54+00:00" ``` ``` event_types:"google.workspace.chat.space.v1.updated" AND event_types:"google.workspace.chat.message.v1.created" ``` Invalid queries are rejected by the server with an `INVALID_ARGUMENT` error. */ + filter?: string; + /** Optional. The maximum number of space events returned. The service might return fewer than this value. Negative values return an `INVALID_ARGUMENT` error. */ + pageSize?: number; + /** Optional. A page token, received from a previous list space events call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to list space events must match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results. */ + pageToken?: string; + /** Required. Resource name of the [Google Chat space](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces) where the events occurred. Format: `spaces/{space}`. */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type UsersAvailabilityGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The resource name of the availability to retrieve. Format: users/{user}/availability `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user's email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type UsersAvailabilityMarkAsActiveParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The resource name of the availability to mark as active. Format: users/{user}/availability `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user's email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleChat.MarkAsActiveRequest; + }; + type UsersAvailabilityMarkAsAwayParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The resource name of the availability to mark as away. Format: users/{user}/availability `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user's email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleChat.MarkAsAwayRequest; + }; + type UsersAvailabilityMarkAsDoNotDisturbParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The resource name of the availability to mark as Do Not Disturb. Format: users/{user}/availability `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user's email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleChat.MarkAsDoNotDisturbRequest; + }; + type UsersAvailabilityPatchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Identifier. Resource name of the user's availability. Format: `users/{user}/availability` `{user}` is the id for the Person in the People API or Admin SDK directory API. For example, `users/123456789`. The user's email address or `me` can also be used as an alias to refer to the caller. For example, `users/user@example.com` or `users/me`. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The list of fields to update. The only field that can be updated is `custom_status`. */ + updateMask?: string; + requestBody?: GoogleChat.Availability; + }; + type UsersSectionsCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The parent resource name where the section is created. Format: `users/{user}` */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleChat.GoogleChatV1Section; + }; + type UsersSectionsDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The name of the section to delete. Format: `users/{user}/sections/{section}` */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type UsersSectionsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. The maximum number of sections to return. The service may return fewer than this value. If unspecified, at most 10 sections will be returned. The maximum value is 100. If you use a value more than 100, it's automatically changed to 100. Negative values return an `INVALID_ARGUMENT` error. */ + pageSize?: number; + /** Optional. A page token, received from a previous list sections call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results. */ + pageToken?: string; + /** Required. The parent, which is the user resource name that owns this collection of sections. Only supports listing sections for the calling user. To refer to the calling user, set one of the following: - The `me` alias. For example, `users/me`. - Their Workspace email address. For example, `users/user@example.com`. - Their user id. For example, `users/123456789`. Format: `users/{user}` */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type UsersSectionsPatchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Identifier. Resource name of the section. For system sections, the section ID is a constant string: - DEFAULT_DIRECT_MESSAGES: `users/{user}/sections/default-direct-messages` - DEFAULT_SPACES: `users/{user}/sections/default-spaces` - DEFAULT_APPS: `users/{user}/sections/default-apps` Format: `users/{user}/sections/{section}` */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The mask to specify which fields to update. Currently supported field paths: - `display_name` */ + updateMask?: string; + requestBody?: GoogleChat.GoogleChatV1Section; + }; + type UsersSectionsPositionParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The resource name of the section to position. Format: `users/{user}/sections/{section}` */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleChat.PositionSectionRequest; + }; + type UsersSectionsItemsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. A query filter. Currently only supports filtering by space. For example, `space = spaces/{space}`. Invalid queries are rejected with an `INVALID_ARGUMENT` error. */ + filter?: string; + /** Optional. The maximum number of section items to return. The service may return fewer than this value. If unspecified, at most 10 section items will be returned. The maximum value is 100. If you use a value more than 100, it's automatically changed to 100. Negative values return an `INVALID_ARGUMENT` error. */ + pageSize?: number; + /** Optional. A page token, received from a previous list section items call. Provide this to retrieve the subsequent page. When paginating, all other parameters provided should match the call that provided the page token. Passing different values to the other parameters might lead to unexpected results. */ + pageToken?: string; + /** Required. The parent, which is the section resource name that owns this collection of section items. Only supports listing section items for the calling user. When you're filtering by space, use the wildcard `-` to search across all sections. For example, `users/{user}/sections/-`. Format: `users/{user}/sections/{section}` */ + parent: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type UsersSectionsItemsMoveParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. The resource name of the section item to move. Format: `users/{user}/sections/{section}/items/{item}` */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GoogleChat.MoveSectionItemRequest; + }; + type UsersSpacesGetSpaceReadStateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Resource name of the space read state to retrieve. Only supports getting read state for the calling user. To refer to the calling user, set one of the following: - The `me` alias. For example, `users/me/spaces/{space}/spaceReadState`. - Their Workspace email address. For example, `users/user@example.com/spaces/{space}/spaceReadState`. - Their user id. For example, `users/123456789/spaces/{space}/spaceReadState`. Format: users/{user}/spaces/{space}/spaceReadState */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type UsersSpacesUpdateSpaceReadStateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Resource name of the space read state. Format: `users/{user}/spaces/{space}/spaceReadState` */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The field paths to update. Currently supported field paths: - `last_read_time` When the `last_read_time` is before the latest message create time, the space appears as unread in the UI. To mark the space as read, set `last_read_time` to any value later (larger) than the latest message create time. The `last_read_time` is coerced to match the latest message create time. Note that the space read state only affects the read state of messages that are visible in the space's top-level conversation. Replies in threads are unaffected by this timestamp, and instead rely on the thread read state. */ + updateMask?: string; + requestBody?: GoogleChat.SpaceReadState; + }; + type UsersSpacesSpaceNotificationSettingGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Format: users/{user}/spaces/{space}/spaceNotificationSetting - `users/me/spaces/{space}/spaceNotificationSetting`, OR - `users/user@example.com/spaces/{space}/spaceNotificationSetting`, OR - `users/123456789/spaces/{space}/spaceNotificationSetting`. Note: Only the caller's user id or email is allowed in the path. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type UsersSpacesSpaceNotificationSettingPatchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Identifier. The resource name of the space notification setting. Format: `users/{user}/spaces/{space}/spaceNotificationSetting`. */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. Supported field paths: - `notification_setting` - `mute_setting` */ + updateMask?: string; + requestBody?: GoogleChat.SpaceNotificationSetting; + }; + type UsersSpacesThreadsGetThreadReadStateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. Resource name of the thread read state to retrieve. Only supports getting read state for the calling user. To refer to the calling user, set one of the following: - The `me` alias. For example, `users/me/spaces/{space}/threads/{thread}/threadReadState`. - Their Workspace email address. For example, `users/user@example.com/spaces/{space}/threads/{thread}/threadReadState`. - Their user id. For example, `users/123456789/spaces/{space}/threads/{thread}/threadReadState`. Format: users/{user}/spaces/{space}/threads/{thread}/threadReadState */ + name: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + }; + type Client = { + customEmojis: { + /** 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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis` */ + create(params?: CustomEmojisCreateParams): Promise; + /** Deletes a custom emoji. By default, users can only delete custom emoji they created. [Emoji managers](https://support.google.com/a/answer/12850085) assigned by the administrator can delete any custom emoji in the organization. See [Learn about custom emojis in Google Chat](https://support.google.com/chat/answer/12800149). 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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis` */ + delete(params: CustomEmojisDeleteParams): Promise; + /** 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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis.readonly` - `https://www.googleapis.com/auth/chat.customemojis` */ + get(params: CustomEmojisGetParams): Promise; + /** 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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis.readonly` - `https://www.googleapis.com/auth/chat.customemojis` */ + list(params?: CustomEmojisListParams): Promise; + }; + media: { + /** Downloads media. Download is supported on the URI `/v1/media/{+name}?alt=media`. */ + download(params: MediaDownloadParams): Promise; + /** Uploads an attachment. For an example, see [Upload media as a file attachment](https://developers.google.com/workspace/chat/upload-media-attachments). Requires user [authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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](https://support.google.com/chat/answer/7651457?&co=GENIE.Platform%3DDesktop#File%20types%20blocked%20in%20Google%20Chat). */ + upload(params: MediaUploadParams): Promise; + }; + spaces: { + /** Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified space and makes it visible to users. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) and domain-wide delegation with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.import` For more information, see [Authorize Google Chat apps to import data](https://developers.google.com/workspace/chat/authorize-import). */ + completeImport(params: SpacesCompleteImportParams): Promise; + /** 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](https://developers.google.com/workspace/chat/create-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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. */ + create(params?: SpacesCreateParams): Promise; + /** 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](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.delete` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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` */ + delete(params: SpacesDeleteParams): Promise; + /** 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](/chat/api/guides/v1/spaces/find-direct-message). With [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app), returns the direct message space between the specified user and the calling Chat app. With [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), returns the direct message space between the specified user and the authenticated user. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.readonly` - `https://www.googleapis.com/auth/chat.spaces` */ + findDirectMessage(params?: SpacesFindDirectMessageParams): Promise; + /** 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](https://developers.google.com/workspace/chat/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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.memberships.readonly` - `https://www.googleapis.com/auth/chat.memberships` */ + findGroupChats(params?: SpacesFindGroupChatsParams): Promise; + /** Returns details about a space. For an example, see [Get details about a space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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. */ + get(params: SpacesGetParams): Promise; + /** 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](https://developers.google.com/workspace/chat/list-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method using Workspace administrator privileges instead. */ + list(params?: SpacesListParams): Promise; + /** Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). 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](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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. */ + patch(params: SpacesPatchParams): Promise; + /** Returns a list of spaces in a Google Workspace organization. For an example, see [Search for and manage spaces](https://developers.google.com/workspace/chat/search-manage-admin). 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`. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges) and one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.admin.spaces.readonly` - `https://www.googleapis.com/auth/chat.admin.spaces` */ + search(params?: SpacesSearchParams): Promise; + /** 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](https://developers.google.com/workspace/chat/set-up-spaces). 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](https://cloud.google.com/identity/docs/reference/rest/v1/groups/lookup) 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](https://developers.google.com/workspace/chat/create-members). 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.spaces.create` - `https://www.googleapis.com/auth/chat.spaces` */ + setup(params?: SpacesSetupParams): Promise; + members: { + /** 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](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or add a Google Group to a space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the Chat app to a space](https://developers.google.com/workspace/chat/create-members#create-membership-calling-api). */ + create(params: SpacesMembersCreateParams): Promise; + /** Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) the Chat app must be the space creator. */ + delete(params: SpacesMembersDeleteParams): Promise; + /** Returns details about a membership. For an example, see [Get details about a user's or Google Chat app's membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth)) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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` */ + get(params: SpacesMembersGetParams): Promise; + /** Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth)) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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` */ + list(params: SpacesMembersListParams): Promise; + /** Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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` */ + patch(params: SpacesMembersPatchParams): Promise; + }; + messages: { + /** Creates a message in a Google Chat space. For an example, see [Send a message](https://developers.google.com/workspace/chat/create-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/images/message-app-auth.svg) 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](https://developers.google.com/workspace/chat/images/message-user-auth.svg) The maximum message size, including the message contents, is 32,000 bytes. For [webhook](https://developers.google.com/workspace/chat/quickstart/webhooks) 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. */ + create(params: SpacesMessagesCreateParams): Promise; + /** Deletes a message. For an example, see [Delete a message](https://developers.google.com/workspace/chat/delete-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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. */ + delete(params: SpacesMessagesDeleteParams): Promise; + /** Returns details about a message. For an example, see [Get details about a message](https://developers.google.com/workspace/chat/get-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://developers.google.com/workspace/chat/slash-commands) that invoke the Chat app. - `https://www.googleapis.com/auth/chat.app.messages.readonly` with [administrator approval](https://support.google.com/a?p=chat-app-auth). When using this authentication scope, this method returns details about a public message in a space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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. */ + get(params: SpacesMessagesGetParams): Promise; + /** 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](https://developers.google.com/workspace/chat/api/guides/v1/messages/list). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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) */ + list(params: SpacesMessagesListParams): Promise; + /** 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](https://developers.google.com/workspace/chat/update-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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. */ + patch(params: SpacesMessagesPatchParams): Promise; + /** Searches for messages in Google Chat that the calling user has access to. Returns a list of messages matching the search criteria. To search across all spaces the user has access to, set `parent` to `spaces/-`. Using any other value for `parent` results in an `INVALID_ARGUMENT` error. The returned messages have their `name` field populated with the full resource name, which includes the specific `space` in which the message resides. This API doesn't return all message types. The types of messages listed below aren't included in the response. Use ListMessages to list all messages. - Private Messages that are visible to the authenticated user. - Messages posted by Chat apps in spaces or group chats. - Messages in a Chat app DM. - Messages from blocked users. - Messages in spaces that the caller has muted. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.messages.readonly` - `https://www.googleapis.com/auth/chat.messages` */ + search(params: SpacesMessagesSearchParams): Promise; + /** 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](https://developers.google.com/workspace/chat/update-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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. */ + update(params: SpacesMessagesUpdateParams): Promise; + attachments: { + /** Gets the metadata of a message attachment. The attachment data is fetched using the [media API](https://developers.google.com/workspace/chat/api/reference/rest/v1/media/download). For an example, see [Get metadata about a message attachment](https://developers.google.com/workspace/chat/get-media-attachments). Requires [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.bot` */ + get(params: SpacesMessagesAttachmentsGetParams): Promise; + }; + reactions: { + /** Creates a reaction and adds it to a message. For an example, see [Add a reaction to a message](https://developers.google.com/workspace/chat/create-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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) */ + create(params: SpacesMessagesReactionsCreateParams): Promise; + /** Deletes a reaction to a message. For an example, see [Delete a reaction](https://developers.google.com/workspace/chat/delete-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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) */ + delete(params: SpacesMessagesReactionsDeleteParams): Promise; + /** Lists reactions to a message. For an example, see [List reactions for a message](https://developers.google.com/workspace/chat/list-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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` */ + list(params: SpacesMessagesReactionsListParams): Promise; + }; + }; + spaceEvents: { + /** Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_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](https://developers.google.com/workspace/chat/authenticate-authorize) with an [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes) appropriate for reading the requested data: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/get-space-event). */ + get(params: SpacesSpaceEventsGetParams): Promise; + /** Lists events from a Google Chat space. For each event, the [payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_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](https://developers.google.com/workspace/chat/authenticate-authorize) with an [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes) appropriate for reading the requested data: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/list-space-events). */ + list(params: SpacesSpaceEventsListParams): Promise; + }; + }; + users: { + availability: { + /** 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability.readonly` - `https://www.googleapis.com/auth/chat.users.availability` */ + get(params: UsersAvailabilityGetParams): Promise; + /** 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability` */ + markAsActive(params: UsersAvailabilityMarkAsActiveParams): Promise; + /** 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability` */ + markAsAway(params: UsersAvailabilityMarkAsAwayParams): Promise; + /** 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability` */ + markAsDoNotDisturb(params: UsersAvailabilityMarkAsDoNotDisturbParams): Promise; + /** 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability` */ + patch(params: UsersAvailabilityPatchParams): Promise; + }; + sections: { + /** 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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` */ + create(params: UsersSectionsCreateParams): Promise; + /** 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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` */ + delete(params: UsersSectionsDeleteParams): Promise; + /** 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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` - `https://www.googleapis.com/auth/chat.users.sections.readonly` */ + list(params: UsersSectionsListParams): Promise; + /** Updates a section. Only sections of type `CUSTOM_SECTION` can be updated. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` */ + patch(params: UsersSectionsPatchParams): Promise; + /** Changes the sort order of a section. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` */ + position(params: UsersSectionsPositionParams): Promise; + items: { + /** Lists items in a section. Only spaces can be section items. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` - `https://www.googleapis.com/auth/chat.users.sections.readonly` */ + list(params: UsersSectionsItemsListParams): Promise; + /** 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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` */ + move(params: UsersSectionsItemsMoveParams): Promise; + }; + }; + spaces: { + /** 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](https://developers.google.com/workspace/chat/get-space-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate.readonly` - `https://www.googleapis.com/auth/chat.users.readstate` */ + getSpaceReadState(params: UsersSpacesGetSpaceReadStateParams): Promise; + /** 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](https://developers.google.com/workspace/chat/update-space-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate` */ + updateSpaceReadState(params: UsersSpacesUpdateSpaceReadStateParams): Promise; + spaceNotificationSetting: { + /** Gets the space notification setting. For an example, see [Get the caller's space notification setting](https://developers.google.com/workspace/chat/get-space-notification-setting). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.spacesettings` */ + get(params: UsersSpacesSpaceNotificationSettingGetParams): Promise; + /** Updates the space notification setting. For an example, see [Update the caller's space notification setting](https://developers.google.com/workspace/chat/update-space-notification-setting). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.spacesettings` */ + patch(params: UsersSpacesSpaceNotificationSettingPatchParams): Promise; + }; + threads: { + /** 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](https://developers.google.com/workspace/chat/get-thread-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate.readonly` - `https://www.googleapis.com/auth/chat.users.readstate` */ + getThreadReadState(params: UsersSpacesThreadsGetThreadReadStateParams): Promise; + }; + }; + }; + }; +} +declare namespace GooglePeople { + /** A person's physical address. May be a P.O. box or street address. All fields are optional. */ + type Address = { + /** The city of the address. */ + city?: string; + /** The country of the address. */ + country?: string; + /** The [ISO 3166-1 alpha-2](http://www.iso.org/iso/country_codes.htm) country code of the address. */ + countryCode?: string; + /** The extended address of the address; for example, the apartment number. */ + extendedAddress?: string; + /** Output only. The type of the address translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. */ + formattedType?: string; + /** The unstructured value of the address. If this is not set by the user it will be automatically constructed from structured values. */ + formattedValue?: string; + /** Metadata about the address. */ + metadata?: GooglePeople.FieldMetadata; + /** The P.O. box of the address. */ + poBox?: string; + /** The postal code of the address. */ + postalCode?: string; + /** The region of the address; for example, the state or province. */ + region?: string; + /** The street address. */ + streetAddress?: string; + /** The type of the address. The type can be custom or one of these predefined values: * `home` * `work` * `other` */ + type?: string; + }; + /** A person's age range. */ + type AgeRangeType = { + /** The age range. */ + ageRange?: "AGE_RANGE_UNSPECIFIED" | "LESS_THAN_EIGHTEEN" | "EIGHTEEN_TO_TWENTY" | "TWENTY_ONE_OR_OLDER"; + /** Metadata about the age range. */ + metadata?: GooglePeople.FieldMetadata; + }; + /** A request to create a batch of contacts. */ + type BatchCreateContactsRequest = { + /** Required. The contact to create. Allows up to 200 contacts in a single request. */ + contacts?: Array; + /** Required. A field mask to restrict which fields on each person are returned in the response. Multiple fields can be specified by separating them with commas. If read mask is left empty, the post-mutate-get is skipped and no data will be returned in the response. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + readMask?: string; + /** Optional. A mask of what source types to return in the post mutate read. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. */ + sources?: Array<"READ_SOURCE_TYPE_UNSPECIFIED" | "READ_SOURCE_TYPE_PROFILE" | "READ_SOURCE_TYPE_CONTACT" | "READ_SOURCE_TYPE_DOMAIN_CONTACT" | "READ_SOURCE_TYPE_OTHER_CONTACT">; + }; + /** If not successful, returns BatchCreateContactsErrorDetails which contains a list of errors for each invalid contact. The response to a request to create a batch of contacts. */ + type BatchCreateContactsResponse = { + /** The contacts that were created, unless the request `read_mask` is empty. */ + createdPeople?: Array; + }; + /** A request to delete a batch of existing contacts. */ + type BatchDeleteContactsRequest = { + /** Required. The resource names of the contact to delete. It's repeatable. Allows up to 500 resource names in a single request. */ + resourceNames?: Array; + }; + /** The response to a batch get contact groups request. */ + type BatchGetContactGroupsResponse = { + /** The list of responses for each requested contact group resource. */ + responses?: Array; + }; + /** A request to update a batch of contacts. */ + type BatchUpdateContactsRequest = { + /** Required. A map of resource names to the person data to be updated. Allows up to 200 contacts in a single request. */ + contacts?: Record; + /** Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. If read mask is left empty, the post-mutate-get is skipped and no data will be returned in the response. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + readMask?: string; + /** Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. */ + sources?: Array<"READ_SOURCE_TYPE_UNSPECIFIED" | "READ_SOURCE_TYPE_PROFILE" | "READ_SOURCE_TYPE_CONTACT" | "READ_SOURCE_TYPE_DOMAIN_CONTACT" | "READ_SOURCE_TYPE_OTHER_CONTACT">; + /** Required. A field mask to restrict which fields on the person are updated. Multiple fields can be specified by separating them with commas. All specified fields will be replaced, or cleared if left empty for each person. Valid values are: * addresses * biographies * birthdays * calendarUrls * clientData * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * relations * sipAddresses * urls * userDefined */ + updateMask?: string; + }; + /** If not successful, returns BatchUpdateContactsErrorDetails, a list of errors corresponding to each contact. The response to a request to update a batch of contacts. */ + type BatchUpdateContactsResponse = { + /** A map of resource names to the contacts that were updated, unless the request `read_mask` is empty. */ + updateResult?: Record; + }; + /** A person's short biography. */ + type Biography = { + /** The content type of the biography. */ + contentType?: "CONTENT_TYPE_UNSPECIFIED" | "TEXT_PLAIN" | "TEXT_HTML"; + /** Metadata about the biography. */ + metadata?: GooglePeople.FieldMetadata; + /** The short biography. */ + value?: string; + }; + /** A person's birthday. At least one of the `date` and `text` fields are specified. The `date` and `text` fields typically represent the same date, but are not guaranteed to. Clients should always set the `date` field when mutating birthdays. */ + type Birthday = { + /** The structured date of the birthday. */ + date?: GooglePeople.Date; + /** Metadata about the birthday. */ + metadata?: GooglePeople.FieldMetadata; + /** Prefer to use the `date` field if set. A free-form string representing the user's birthday. This value is not validated. */ + text?: string; + }; + /** **DEPRECATED**: No data will be returned A person's bragging rights. */ + type BraggingRights = { + /** Metadata about the bragging rights. */ + metadata?: GooglePeople.FieldMetadata; + /** The bragging rights; for example, `climbed mount everest`. */ + value?: string; + }; + /** A person's calendar URL. */ + type CalendarUrl = { + /** Output only. The type of the calendar URL translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. */ + formattedType?: string; + /** Metadata about the calendar URL. */ + metadata?: GooglePeople.FieldMetadata; + /** The type of the calendar URL. The type can be custom or one of these predefined values: * `home` * `freeBusy` * `work` */ + type?: string; + /** The calendar URL. */ + url?: string; + }; + /** Arbitrary client data that is populated by clients. Duplicate keys and values are allowed. */ + type ClientData = { + /** The client specified key of the client data. */ + key?: string; + /** Metadata about the client data. */ + metadata?: GooglePeople.FieldMetadata; + /** The client specified value of the client data. */ + value?: string; + }; + /** A contact group. */ + type ContactGroup = { + /** The group's client data. */ + clientData?: Array; + /** The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the resource. Used for web cache validation. */ + etag?: string; + /** Output only. The name translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale for system groups names. Group names set by the owner are the same as name. */ + formattedName?: string; + /** Output only. The contact group type. */ + groupType?: "GROUP_TYPE_UNSPECIFIED" | "USER_CONTACT_GROUP" | "SYSTEM_CONTACT_GROUP"; + /** Output only. The total number of contacts in the group irrespective of max members in specified in the request. */ + memberCount?: number; + /** Output only. The list of contact person resource names that are members of the contact group. The field is only populated for GET requests and will only return as many members as `maxMembers` in the get request. */ + memberResourceNames?: Array; + /** Output only. Metadata about the contact group. */ + metadata?: GooglePeople.ContactGroupMetadata; + /** The contact group name set by the group owner or a system provided name for system groups. For [`contactGroups.create`](/people/api/rest/v1/contactGroups/create) or [`contactGroups.update`](/people/api/rest/v1/contactGroups/update) the name must be unique to the users contact groups. Attempting to create a group with a duplicate name will return a HTTP 409 error. */ + name?: string; + /** The resource name for the contact group, assigned by the server. An ASCII string, in the form of `contactGroups/{contact_group_id}`. */ + resourceName?: string; + }; + /** A Google contact group membership. */ + type ContactGroupMembership = { + /** Output only. The contact group ID for the contact group membership. */ + contactGroupId?: string; + /** The resource name for the contact group, assigned by the server. An ASCII string, in the form of `contactGroups/{contact_group_id}`. Only contact_group_resource_name can be used for modifying memberships. Any contact group membership can be removed, but only user group or "myContacts" or "starred" system groups memberships can be added. A contact must always have at least one contact group membership. */ + contactGroupResourceName?: string; + }; + /** The metadata about a contact group. */ + type ContactGroupMetadata = { + /** Output only. True if the contact group resource has been deleted. Populated only for [`ListContactGroups`](/people/api/rest/v1/contactgroups/list) requests that include a sync token. */ + deleted?: boolean; + /** Output only. The time the group was last updated. */ + updateTime?: string; + }; + /** The response for a specific contact group. */ + type ContactGroupResponse = { + /** The contact group. */ + contactGroup?: GooglePeople.ContactGroup; + /** The original requested resource name. */ + requestedResourceName?: string; + /** The status of the response. */ + status?: GooglePeople.Status; + }; + /** A wrapper that contains the person data to populate a newly created source. */ + type ContactToCreate = { + /** Required. The person data to populate a newly created source. */ + contactPerson?: GooglePeople.Person; + }; + /** A request to copy an "Other contact" to my contacts group. */ + type CopyOtherContactToMyContactsGroupRequest = { + /** Required. A field mask to restrict which fields are copied into the new contact. Valid values are: * emailAddresses * names * phoneNumbers */ + copyMask?: string; + /** Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to the copy mask with metadata and membership fields if not set. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + readMask?: string; + /** Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. */ + sources?: Array<"READ_SOURCE_TYPE_UNSPECIFIED" | "READ_SOURCE_TYPE_PROFILE" | "READ_SOURCE_TYPE_CONTACT" | "READ_SOURCE_TYPE_DOMAIN_CONTACT" | "READ_SOURCE_TYPE_OTHER_CONTACT">; + }; + /** A person's cover photo. A large image shown on the person's profile page that represents who they are or what they care about. */ + type CoverPhoto = { + /** True if the cover photo is the default cover photo; false if the cover photo is a user-provided cover photo. */ + default?: boolean; + /** Metadata about the cover photo. */ + metadata?: GooglePeople.FieldMetadata; + /** The URL of the cover photo. */ + url?: string; + }; + /** A request to create a new contact group. */ + type CreateContactGroupRequest = { + /** Required. The contact group to create. */ + contactGroup?: GooglePeople.ContactGroup; + /** Optional. A field mask to restrict which fields on the group are returned. Defaults to `metadata`, `groupType`, and `name` if not set or set to empty. Valid fields are: * clientData * groupType * metadata * name */ + readGroupFields?: string; + }; + /** Represents a whole or partial calendar date, such as a birthday. The time of day and time zone are either specified elsewhere or are insignificant. The date is relative to the Gregorian Calendar. This can represent one of the following: * A full date, with non-zero year, month, and day values. * A month and day, with a zero year (for example, an anniversary). * A year on its own, with a zero month and a zero day. * A year and month, with a zero day (for example, a credit card expiration date). Related types: * google.type.TimeOfDay * google.type.DateTime * google.protobuf.Timestamp */ + type Date = { + /** Day of a month. Must be from 1 to 31 and valid for the year and month, or 0 to specify a year by itself or a year and month where the day isn't significant. */ + day?: number; + /** Month of a year. Must be from 1 to 12, or 0 to specify a year without a month and day. */ + month?: number; + /** Year of the date. Must be from 1 to 9999, or 0 to specify a date without a year. */ + year?: number; + }; + /** The response for deleting a contact's photo. */ + type DeleteContactPhotoResponse = { + /** The updated person, if person_fields is set in the DeleteContactPhotoRequest; otherwise this will be unset. */ + person?: GooglePeople.Person; + }; + /** A Google Workspace Domain membership. */ + type DomainMembership = { + /** True if the person is in the viewer's Google Workspace domain. */ + inViewerDomain?: boolean; + }; + /** A person's email address. */ + type EmailAddress = { + /** The display name of the email. */ + displayName?: string; + /** Output only. The type of the email address translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. */ + formattedType?: string; + /** Metadata about the email address. */ + metadata?: GooglePeople.FieldMetadata; + /** The type of the email address. The type can be custom or one of these predefined values: * `home` * `work` * `other` */ + type?: string; + /** The email address. */ + value?: string; + }; + /** A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } */ + type Empty = Record; + /** An event related to the person. */ + type Event = { + /** The date of the event. */ + date?: GooglePeople.Date; + /** Output only. The type of the event translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. */ + formattedType?: string; + /** Metadata about the event. */ + metadata?: GooglePeople.FieldMetadata; + /** The type of the event. The type can be custom or one of these predefined values: * `anniversary` * `other` */ + type?: string; + }; + /** An identifier from an external entity related to the person. */ + type ExternalId = { + /** Output only. The type of the event translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. */ + formattedType?: string; + /** Metadata about the external ID. */ + metadata?: GooglePeople.FieldMetadata; + /** The type of the external ID. The type can be custom or one of these predefined values: * `account` * `customer` * `loginId` * `network` * `organization` */ + type?: string; + /** The value of the external ID. */ + value?: string; + }; + /** Metadata about a field. */ + type FieldMetadata = { + /** Output only. True if the field is the primary field for all sources in the person. Each person will have at most one field with `primary` set to true. */ + primary?: boolean; + /** The source of the field. */ + source?: GooglePeople.Source; + /** True if the field is the primary field for the source. Each source must have at most one field with `source_primary` set to true. */ + sourcePrimary?: boolean; + /** Output only. True if the field is verified; false if the field is unverified. A verified field is typically a name, email address, phone number, or website that has been confirmed to be owned by the person. */ + verified?: boolean; + }; + /** The name that should be used to sort the person in a list. */ + type FileAs = { + /** Metadata about the file-as. */ + metadata?: GooglePeople.FieldMetadata; + /** The file-as value */ + value?: string; + }; + /** A person's gender. */ + type Gender = { + /** Free form text field for pronouns that should be used to address the person. Common values are: * `he`/`him` * `she`/`her` * `they`/`them` */ + addressMeAs?: string; + /** Output only. The value of the gender translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. Unspecified or custom value are not localized. */ + formattedValue?: string; + /** Metadata about the gender. */ + metadata?: GooglePeople.FieldMetadata; + /** The gender for the person. The gender can be custom or one of these predefined values: * `male` * `female` * `unspecified` */ + value?: string; + }; + /** The response to a get request for a list of people by resource name. */ + type GetPeopleResponse = { + /** The response for each requested resource name. */ + responses?: Array; + }; + /** Arbitrary client data that is populated by clients. Duplicate keys and values are allowed. */ + type GroupClientData = { + /** The client specified key of the client data. */ + key?: string; + /** The client specified value of the client data. */ + value?: string; + }; + /** A person's instant messaging client. */ + type ImClient = { + /** Output only. The protocol of the IM client formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. */ + formattedProtocol?: string; + /** Output only. The type of the IM client translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. */ + formattedType?: string; + /** Metadata about the IM client. */ + metadata?: GooglePeople.FieldMetadata; + /** The protocol of the IM client. The protocol can be custom or one of these predefined values: * `aim` * `msn` * `yahoo` * `skype` * `qq` * `googleTalk` * `icq` * `jabber` * `netMeeting` */ + protocol?: string; + /** The type of the IM client. The type can be custom or one of these predefined values: * `home` * `work` * `other` */ + type?: string; + /** The user name used in the IM client. */ + username?: string; + }; + /** One of the person's interests. */ + type Interest = { + /** Metadata about the interest. */ + metadata?: GooglePeople.FieldMetadata; + /** The interest; for example, `stargazing`. */ + value?: string; + }; + /** The response to a request for the authenticated user's connections. */ + type ListConnectionsResponse = { + /** The list of people that the requestor is connected to. */ + connections?: Array; + /** A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ + nextPageToken?: string; + /** A token, which can be sent as `sync_token` to retrieve changes since the last request. Request must set `request_sync_token` to return the sync token. When the response is paginated, only the last page will contain `nextSyncToken`. */ + nextSyncToken?: string; + /** The total number of items in the list without pagination. */ + totalItems?: number; + /** **DEPRECATED** (Please use totalItems) The total number of people in the list without pagination. */ + totalPeople?: number; + }; + /** The response to a list contact groups request. */ + type ListContactGroupsResponse = { + /** The list of contact groups. Members of the contact groups are not populated. */ + contactGroups?: Array; + /** The token that can be used to retrieve the next page of results. */ + nextPageToken?: string; + /** The token that can be used to retrieve changes since the last request. */ + nextSyncToken?: string; + /** The total number of items in the list without pagination. */ + totalItems?: number; + }; + /** The response to a request for the authenticated user's domain directory. */ + type ListDirectoryPeopleResponse = { + /** A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ + nextPageToken?: string; + /** A token, which can be sent as `sync_token` to retrieve changes since the last request. Request must set `request_sync_token` to return the sync token. */ + nextSyncToken?: string; + /** The list of people in the domain directory. */ + people?: Array; + }; + /** The response to a request for the authenticated user's "Other contacts". */ + type ListOtherContactsResponse = { + /** A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ + nextPageToken?: string; + /** A token, which can be sent as `sync_token` to retrieve changes since the last request. Request must set `request_sync_token` to return the sync token. */ + nextSyncToken?: string; + /** The list of "Other contacts" returned as Person resources. "Other contacts" support a limited subset of fields. See ListOtherContactsRequest.request_mask for more detailed information. */ + otherContacts?: Array; + /** The total number of other contacts in the list without pagination. */ + totalSize?: number; + }; + /** A person's locale preference. */ + type Locale = { + /** Metadata about the locale. */ + metadata?: GooglePeople.FieldMetadata; + /** The well-formed [IETF BCP 47](https://tools.ietf.org/html/bcp47) language tag representing the locale. */ + value?: string; + }; + /** A person's location. */ + type Location = { + /** The building identifier. */ + buildingId?: string; + /** Whether the location is the current location. */ + current?: boolean; + /** The individual desk location. */ + deskCode?: string; + /** The floor name or number. */ + floor?: string; + /** The floor section in `floor_name`. */ + floorSection?: string; + /** Metadata about the location. */ + metadata?: GooglePeople.FieldMetadata; + /** The type of the location. The type can be custom or one of these predefined values: * `desk` * `grewUp` */ + type?: string; + /** The free-form value of the location. */ + value?: string; + }; + /** A person's membership in a group. Only contact group memberships can be modified. */ + type Membership = { + /** The contact group membership. */ + contactGroupMembership?: GooglePeople.ContactGroupMembership; + /** Output only. The domain membership. */ + domainMembership?: GooglePeople.DomainMembership; + /** Metadata about the membership. */ + metadata?: GooglePeople.FieldMetadata; + }; + /** A person's miscellaneous keyword. */ + type MiscKeyword = { + /** Output only. The type of the miscellaneous keyword translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. */ + formattedType?: string; + /** Metadata about the miscellaneous keyword. */ + metadata?: GooglePeople.FieldMetadata; + /** The miscellaneous keyword type. */ + type?: "TYPE_UNSPECIFIED" | "OUTLOOK_BILLING_INFORMATION" | "OUTLOOK_DIRECTORY_SERVER" | "OUTLOOK_KEYWORD" | "OUTLOOK_MILEAGE" | "OUTLOOK_PRIORITY" | "OUTLOOK_SENSITIVITY" | "OUTLOOK_SUBJECT" | "OUTLOOK_USER" | "HOME" | "WORK" | "OTHER"; + /** The value of the miscellaneous keyword. */ + value?: string; + }; + /** A request to modify an existing contact group's members. Contacts can be removed from any group but they can only be added to a user group or "myContacts" or "starred" system groups. */ + type ModifyContactGroupMembersRequest = { + /** Optional. The resource names of the contact people to add in the form of `people/{person_id}`. The total number of resource names in `resource_names_to_add` and `resource_names_to_remove` must be less than or equal to 1000. */ + resourceNamesToAdd?: Array; + /** Optional. The resource names of the contact people to remove in the form of `people/{person_id}`. The total number of resource names in `resource_names_to_add` and `resource_names_to_remove` must be less than or equal to 1000. */ + resourceNamesToRemove?: Array; + }; + /** The response to a modify contact group members request. */ + type ModifyContactGroupMembersResponse = { + /** The contact people resource names that cannot be removed from their last contact group. */ + canNotRemoveLastContactGroupResourceNames?: Array; + /** The contact people resource names that were not found. */ + notFoundResourceNames?: Array; + }; + /** A person's name. If the name is a mononym, the family name is empty. */ + type Name = { + /** Output only. The display name formatted according to the locale specified by the viewer's account or the `Accept-Language` HTTP header. */ + displayName?: string; + /** Output only. The display name with the last name first formatted according to the locale specified by the viewer's account or the `Accept-Language` HTTP header. */ + displayNameLastFirst?: string; + /** The family name. */ + familyName?: string; + /** The given name. */ + givenName?: string; + /** The honorific prefixes, such as `Mrs.` or `Dr.` */ + honorificPrefix?: string; + /** The honorific suffixes, such as `Jr.` */ + honorificSuffix?: string; + /** Metadata about the name. */ + metadata?: GooglePeople.FieldMetadata; + /** The middle name(s). */ + middleName?: string; + /** The family name spelled as it sounds. */ + phoneticFamilyName?: string; + /** The full name spelled as it sounds. */ + phoneticFullName?: string; + /** The given name spelled as it sounds. */ + phoneticGivenName?: string; + /** The honorific prefixes spelled as they sound. */ + phoneticHonorificPrefix?: string; + /** The honorific suffixes spelled as they sound. */ + phoneticHonorificSuffix?: string; + /** The middle name(s) spelled as they sound. */ + phoneticMiddleName?: string; + /** The free form name value. */ + unstructuredName?: string; + }; + /** A person's nickname. */ + type Nickname = { + /** Metadata about the nickname. */ + metadata?: GooglePeople.FieldMetadata; + /** The type of the nickname. */ + type?: "DEFAULT" | "MAIDEN_NAME" | "INITIALS" | "GPLUS" | "OTHER_NAME" | "ALTERNATE_NAME" | "SHORT_NAME"; + /** The nickname. */ + value?: string; + }; + /** A person's occupation. */ + type Occupation = { + /** Metadata about the occupation. */ + metadata?: GooglePeople.FieldMetadata; + /** The occupation; for example, `carpenter`. */ + value?: string; + }; + /** A person's past or current organization. Overlapping date ranges are permitted. */ + type Organization = { + /** The person's cost center at the organization. */ + costCenter?: string; + /** True if the organization is the person's current organization; false if the organization is a past organization. */ + current?: boolean; + /** The person's department at the organization. */ + department?: string; + /** The domain name associated with the organization; for example, `google.com`. */ + domain?: string; + /** The end date when the person left the organization. */ + endDate?: GooglePeople.Date; + /** Output only. The type of the organization translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. */ + formattedType?: string; + /** The person's full-time equivalent millipercent within the organization (100000 = 100%). */ + fullTimeEquivalentMillipercent?: number; + /** The person's job description at the organization. */ + jobDescription?: string; + /** The location of the organization office the person works at. */ + location?: string; + /** Metadata about the organization. */ + metadata?: GooglePeople.FieldMetadata; + /** The name of the organization. */ + name?: string; + /** The phonetic name of the organization. */ + phoneticName?: string; + /** The start date when the person joined the organization. */ + startDate?: GooglePeople.Date; + /** The symbol associated with the organization; for example, a stock ticker symbol, abbreviation, or acronym. */ + symbol?: string; + /** The person's job title at the organization. */ + title?: string; + /** The type of the organization. The type can be custom or one of these predefined values: * `work` * `school` */ + type?: string; + }; + /** Information about a person merged from various data sources such as the authenticated user's contacts and profile data. Most fields can have multiple items. The items in a field have no guaranteed order, but each non-empty field is guaranteed to have exactly one field with `metadata.primary` set to true. */ + type Person = { + /** The person's street addresses. */ + addresses?: Array; + /** Output only. **DEPRECATED** (Please use `person.ageRanges` instead) The person's age range. */ + ageRange?: "AGE_RANGE_UNSPECIFIED" | "LESS_THAN_EIGHTEEN" | "EIGHTEEN_TO_TWENTY" | "TWENTY_ONE_OR_OLDER"; + /** Output only. The person's age ranges. */ + ageRanges?: Array; + /** The person's biographies. This field is a singleton for contact sources. */ + biographies?: Array; + /** The person's birthdays. This field is a singleton for contact sources. */ + birthdays?: Array; + /** **DEPRECATED**: No data will be returned The person's bragging rights. */ + braggingRights?: Array; + /** The person's calendar URLs. */ + calendarUrls?: Array; + /** The person's client data. */ + clientData?: Array; + /** Output only. The person's cover photos. */ + coverPhotos?: Array; + /** The person's email addresses. For `people.connections.list` and `otherContacts.list` the number of email addresses is limited to 100. If a Person has more email addresses the entire set can be obtained by calling GetPeople. */ + emailAddresses?: Array; + /** The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the resource. Used for web cache validation. */ + etag?: string; + /** The person's events. */ + events?: Array; + /** The person's external IDs. */ + externalIds?: Array; + /** The person's file-ases. */ + fileAses?: Array; + /** The person's genders. This field is a singleton for contact sources. */ + genders?: Array; + /** The person's instant messaging clients. */ + imClients?: Array; + /** The person's interests. */ + interests?: Array; + /** The person's locale preferences. */ + locales?: Array; + /** The person's locations. */ + locations?: Array; + /** The person's group memberships. */ + memberships?: Array; + /** Output only. Metadata about the person. */ + metadata?: GooglePeople.PersonMetadata; + /** The person's miscellaneous keywords. */ + miscKeywords?: Array; + /** The person's names. This field is a singleton for contact sources. */ + names?: Array; + /** The person's nicknames. */ + nicknames?: Array; + /** The person's occupations. */ + occupations?: Array; + /** The person's past or current organizations. */ + organizations?: Array; + /** The person's phone numbers. For `people.connections.list` and `otherContacts.list` the number of phone numbers is limited to 100. If a Person has more phone numbers the entire set can be obtained by calling GetPeople. */ + phoneNumbers?: Array; + /** Output only. The person's photos. */ + photos?: Array; + /** The person's relations. */ + relations?: Array; + /** Output only. **DEPRECATED**: No data will be returned The person's relationship interests. */ + relationshipInterests?: Array; + /** Output only. **DEPRECATED**: No data will be returned The person's relationship statuses. */ + relationshipStatuses?: Array; + /** **DEPRECATED**: (Please use `person.locations` instead) The person's residences. */ + residences?: Array; + /** The resource name for the person, assigned by the server. An ASCII string in the form of `people/{person_id}`. */ + resourceName?: string; + /** The person's SIP addresses. */ + sipAddresses?: Array; + /** The person's skills. */ + skills?: Array; + /** Output only. **DEPRECATED**: No data will be returned The person's taglines. */ + taglines?: Array; + /** The person's associated URLs. */ + urls?: Array; + /** The person's user defined data. */ + userDefined?: Array; + }; + /** The metadata about a person. */ + type PersonMetadata = { + /** Output only. True if the person resource has been deleted. Populated only for `people.connections.list` and `otherContacts.list` sync requests. */ + deleted?: boolean; + /** Output only. Resource names of people linked to this resource. */ + linkedPeopleResourceNames?: Array; + /** Output only. **DEPRECATED** (Please use `person.metadata.sources.profileMetadata.objectType` instead) The type of the person object. */ + objectType?: "OBJECT_TYPE_UNSPECIFIED" | "PERSON" | "PAGE"; + /** Output only. Any former resource names this person has had. Populated only for `people.connections.list` requests that include a sync token. The resource name may change when adding or removing fields that link a contact and profile such as a verified email, verified phone number, or profile URL. */ + previousResourceNames?: Array; + /** The sources of data for the person. */ + sources?: Array; + }; + /** The response for a single person */ + type PersonResponse = { + /** **DEPRECATED** (Please use status instead) [HTTP 1.1 status code] (http://www.w3.org/Protocols/rfc2616/rfc2616-sec10.html). */ + httpStatusCode?: number; + /** The person. */ + person?: GooglePeople.Person; + /** The original requested resource name. May be different than the resource name on the returned person. The resource name can change when adding or removing fields that link a contact and profile such as a verified email, verified phone number, or a profile URL. */ + requestedResourceName?: string; + /** The status of the response. */ + status?: GooglePeople.Status; + }; + /** A person's phone number. */ + type PhoneNumber = { + /** Output only. The canonicalized [ITU-T E.164](https://law.resource.org/pub/us/cfr/ibr/004/itu-t.E.164.1.2008.pdf) form of the phone number. */ + canonicalForm?: string; + /** Output only. The type of the phone number translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. */ + formattedType?: string; + /** Metadata about the phone number. */ + metadata?: GooglePeople.FieldMetadata; + /** The type of the phone number. The type can be custom or one of these predefined values: * `home` * `work` * `mobile` * `homeFax` * `workFax` * `otherFax` * `pager` * `workMobile` * `workPager` * `main` * `googleVoice` * `other` */ + type?: string; + /** The phone number. */ + value?: string; + }; + /** A person's photo. A picture shown next to the person's name to help others recognize the person. */ + type Photo = { + /** True if the photo is a default photo; false if the photo is a user-provided photo. */ + default?: boolean; + /** Metadata about the photo. */ + metadata?: GooglePeople.FieldMetadata; + /** The URL of the photo. You can change the desired size by appending a query parameter `sz={size}` at the end of the url, where {size} is the size in pixels. Example: https://lh3.googleusercontent.com/-T_wVWLlmg7w/AAAAAAAAAAI/AAAAAAAABa8/00gzXvDBYqw/s100/photo.jpg?sz=50 */ + url?: string; + }; + /** The metadata about a profile. */ + type ProfileMetadata = { + /** Output only. The profile object type. */ + objectType?: "OBJECT_TYPE_UNSPECIFIED" | "PERSON" | "PAGE"; + /** Output only. The user types. */ + userTypes?: Array<"USER_TYPE_UNKNOWN" | "GOOGLE_USER" | "GPLUS_USER" | "GOOGLE_APPS_USER">; + }; + /** A person's relation to another person. */ + type Relation = { + /** Output only. The type of the relation translated and formatted in the viewer's account locale or the locale specified in the Accept-Language HTTP header. */ + formattedType?: string; + /** Metadata about the relation. */ + metadata?: GooglePeople.FieldMetadata; + /** The name of the other person this relation refers to. */ + person?: string; + /** The person's relation to the other person. The type can be custom or one of these predefined values: * `spouse` * `child` * `mother` * `father` * `parent` * `brother` * `sister` * `friend` * `relative` * `domesticPartner` * `manager` * `assistant` * `referredBy` * `partner` */ + type?: string; + }; + /** **DEPRECATED**: No data will be returned A person's relationship interest . */ + type RelationshipInterest = { + /** Output only. The value of the relationship interest translated and formatted in the viewer's account locale or the locale specified in the Accept-Language HTTP header. */ + formattedValue?: string; + /** Metadata about the relationship interest. */ + metadata?: GooglePeople.FieldMetadata; + /** The kind of relationship the person is looking for. The value can be custom or one of these predefined values: * `friend` * `date` * `relationship` * `networking` */ + value?: string; + }; + /** **DEPRECATED**: No data will be returned A person's relationship status. */ + type RelationshipStatus = { + /** Output only. The value of the relationship status translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. */ + formattedValue?: string; + /** Metadata about the relationship status. */ + metadata?: GooglePeople.FieldMetadata; + /** The relationship status. The value can be custom or one of these predefined values: * `single` * `inARelationship` * `engaged` * `married` * `itsComplicated` * `openRelationship` * `widowed` * `inDomesticPartnership` * `inCivilUnion` */ + value?: string; + }; + /** **DEPRECATED**: Please use `person.locations` instead. A person's past or current residence. */ + type Residence = { + /** True if the residence is the person's current residence; false if the residence is a past residence. */ + current?: boolean; + /** Metadata about the residence. */ + metadata?: GooglePeople.FieldMetadata; + /** The address of the residence. */ + value?: string; + }; + /** The response to a request for people in the authenticated user's domain directory that match the specified query. */ + type SearchDirectoryPeopleResponse = { + /** A token, which can be sent as `page_token` to retrieve the next page. If this field is omitted, there are no subsequent pages. */ + nextPageToken?: string; + /** The list of people in the domain directory that match the query. */ + people?: Array; + /** The total number of items in the list without pagination. */ + totalSize?: number; + }; + /** The response to a search request for the authenticated user, given a query. */ + type SearchResponse = { + /** The results of the request. */ + results?: Array; + }; + /** A result of a search query. */ + type SearchResult = { + /** The matched Person. */ + person?: GooglePeople.Person; + }; + /** A person's SIP address. Session Initial Protocol addresses are used for VoIP communications to make voice or video calls over the internet. */ + type SipAddress = { + /** Output only. The type of the SIP address translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. */ + formattedType?: string; + /** Metadata about the SIP address. */ + metadata?: GooglePeople.FieldMetadata; + /** The type of the SIP address. The type can be custom or or one of these predefined values: * `home` * `work` * `mobile` * `other` */ + type?: string; + /** The SIP address in the [RFC 3261 19.1](https://tools.ietf.org/html/rfc3261#section-19.1) SIP URI format. */ + value?: string; + }; + /** A skill that the person has. */ + type Skill = { + /** Metadata about the skill. */ + metadata?: GooglePeople.FieldMetadata; + /** The skill; for example, `underwater basket weaving`. */ + value?: string; + }; + /** The source of a field. */ + type Source = { + /** **Only populated in `person.metadata.sources`.** The [HTTP entity tag](https://en.wikipedia.org/wiki/HTTP_ETag) of the source. Used for web cache validation. */ + etag?: string; + /** The unique identifier within the source type generated by the server. */ + id?: string; + /** Output only. **Only populated in `person.metadata.sources`.** Metadata about a source of type PROFILE. */ + profileMetadata?: GooglePeople.ProfileMetadata; + /** The source type. */ + type?: "SOURCE_TYPE_UNSPECIFIED" | "ACCOUNT" | "PROFILE" | "DOMAIN_PROFILE" | "CONTACT" | "OTHER_CONTACT" | "DOMAIN_CONTACT"; + /** Output only. **Only populated in `person.metadata.sources`.** Last update timestamp of this source. */ + updateTime?: string; + }; + /** The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). Each `Status` message contains three pieces of data: error code, error message, and error details. You can find out more about this error model and how to work with it in the [API Design Guide](https://cloud.google.com/apis/design/errors). */ + type Status = { + /** The status code, which should be an enum value of google.rpc.Code. */ + code?: number; + /** A list of messages that carry the error details. There is a common set of message types for APIs to use. */ + details?: Array>; + /** A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client. */ + message?: string; + }; + /** **DEPRECATED**: No data will be returned A brief one-line description of the person. */ + type Tagline = { + /** Metadata about the tagline. */ + metadata?: GooglePeople.FieldMetadata; + /** The tagline. */ + value?: string; + }; + /** A request to update an existing user contact group. All updated fields will be replaced. */ + type UpdateContactGroupRequest = { + /** Required. The contact group to update. */ + contactGroup?: GooglePeople.ContactGroup; + /** Optional. A field mask to restrict which fields on the group are returned. Defaults to `metadata`, `groupType`, and `name` if not set or set to empty. Valid fields are: * clientData * groupType * memberCount * metadata * name */ + readGroupFields?: string; + /** Optional. A field mask to restrict which fields on the group are updated. Multiple fields can be specified by separating them with commas. Defaults to `name` if not set or set to empty. Updated fields are replaced. Valid values are: * clientData * name */ + updateGroupFields?: string; + }; + /** A request to update an existing contact's photo. All requests must have a valid photo format: JPEG or PNG. */ + type UpdateContactPhotoRequest = { + /** Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to empty if not set, which will skip the post mutate get. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + personFields?: string; + /** Required. Raw photo bytes */ + photoBytes?: string; + /** Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. */ + sources?: Array<"READ_SOURCE_TYPE_UNSPECIFIED" | "READ_SOURCE_TYPE_PROFILE" | "READ_SOURCE_TYPE_CONTACT" | "READ_SOURCE_TYPE_DOMAIN_CONTACT" | "READ_SOURCE_TYPE_OTHER_CONTACT">; + }; + /** The response for updating a contact's photo. */ + type UpdateContactPhotoResponse = { + /** The updated person, if person_fields is set in the UpdateContactPhotoRequest; otherwise this will be unset. */ + person?: GooglePeople.Person; + }; + /** A person's associated URLs. */ + type Url = { + /** Output only. The type of the URL translated and formatted in the viewer's account locale or the `Accept-Language` HTTP header locale. */ + formattedType?: string; + /** Metadata about the URL. */ + metadata?: GooglePeople.FieldMetadata; + /** The type of the URL. The type can be custom or one of these predefined values: * `home` * `work` * `blog` * `profile` * `homePage` * `ftp` * `reservations` * `appInstallPage`: website for a Currents application. * `other` */ + type?: string; + /** The URL. */ + value?: string; + }; + /** Arbitrary user data that is populated by the end users. */ + type UserDefined = { + /** The end user specified key of the user defined data. */ + key?: string; + /** Metadata about the user defined data. */ + metadata?: GooglePeople.FieldMetadata; + /** The end user specified value of the user defined data. */ + value?: string; + }; + type ContactGroupsBatchGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. A field mask to restrict which fields on the group are returned. Defaults to `metadata`, `groupType`, `memberCount`, and `name` if not set or set to empty. Valid fields are: * clientData * groupType * memberCount * metadata * name */ + groupFields?: string; + /** Optional. Specifies the maximum number of members to return for each group. Defaults to 0 if not set, which will return zero members. */ + maxMembers?: number; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The resource names of the contact groups to get. There is a maximum of 200 resource names. */ + resourceNames?: Array; + }; + type ContactGroupsCreateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GooglePeople.CreateContactGroupRequest; + }; + type ContactGroupsDeleteParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Optional. Set to true to also delete the contacts in the specified group. */ + deleteContacts?: boolean; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The resource name of the contact group to delete. */ + resourceName: string; + }; + type ContactGroupsGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. A field mask to restrict which fields on the group are returned. Defaults to `metadata`, `groupType`, `memberCount`, and `name` if not set or set to empty. Valid fields are: * clientData * groupType * memberCount * metadata * name */ + groupFields?: string; + /** Optional. Specifies the maximum number of members to return. Defaults to 0 if not set, which will return zero members. */ + maxMembers?: number; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The resource name of the contact group to get. */ + resourceName: string; + }; + type ContactGroupsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. A field mask to restrict which fields on the group are returned. Defaults to `metadata`, `groupType`, `memberCount`, and `name` if not set or set to empty. Valid fields are: * clientData * groupType * memberCount * metadata * name */ + groupFields?: string; + /** Optional. The maximum number of resources to return. Valid values are between 1 and 1000, inclusive. Defaults to 30 if not set or set to 0. */ + pageSize?: number; + /** Optional. The next_page_token value returned from a previous call to [ListContactGroups](/people/api/rest/v1/contactgroups/list). Requests the next page of resources. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Optional. A sync token, returned by a previous call to `contactgroups.list`. Only resources changed since the sync token was created will be returned. */ + syncToken?: string; + }; + type ContactGroupsUpdateParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The resource name for the contact group, assigned by the server. An ASCII string, in the form of `contactGroups/{contact_group_id}`. */ + resourceName: string; + requestBody?: GooglePeople.UpdateContactGroupRequest; + }; + type ContactGroupsMembersModifyParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The resource name of the contact group to modify. */ + resourceName: string; + requestBody?: GooglePeople.ModifyContactGroupMembersRequest; + }; + type OtherContactsCopyOtherContactToMyContactsGroupParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The resource name of the "Other contact" to copy. */ + resourceName: string; + requestBody?: GooglePeople.CopyOtherContactToMyContactsGroupRequest; + }; + type OtherContactsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. The number of "Other contacts" to include in the response. Valid values are between 1 and 1000, inclusive. Defaults to 100 if not set or set to 0. */ + pageSize?: number; + /** Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `otherContacts.list` must match the first call that provided the page token. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. What values are valid depend on what ReadSourceType is used. If READ_SOURCE_TYPE_CONTACT is used, valid values are: * emailAddresses * metadata * names * phoneNumbers * photos If READ_SOURCE_TYPE_PROFILE is used, valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + readMask?: string; + /** Optional. Whether the response should return `next_sync_token` on the last page of results. It can be used to get incremental changes since the last request by setting it on the request `sync_token`. More details about sync behavior at `otherContacts.list`. */ + requestSyncToken?: boolean; + /** Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT if not set. Possible values for this field are: * READ_SOURCE_TYPE_CONTACT * READ_SOURCE_TYPE_CONTACT,READ_SOURCE_TYPE_PROFILE Specifying READ_SOURCE_TYPE_PROFILE without specifying READ_SOURCE_TYPE_CONTACT is not permitted. */ + sources?: Array<"READ_SOURCE_TYPE_UNSPECIFIED" | "READ_SOURCE_TYPE_PROFILE" | "READ_SOURCE_TYPE_CONTACT" | "READ_SOURCE_TYPE_DOMAIN_CONTACT" | "READ_SOURCE_TYPE_OTHER_CONTACT">; + /** Optional. A sync token, received from a previous response `next_sync_token` Provide this to retrieve only the resources changed since the last request. When syncing, all other parameters provided to `otherContacts.list` must match the first call that provided the sync token. More details about sync behavior at `otherContacts.list`. */ + syncToken?: string; + }; + type OtherContactsSearchParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. The number of results to return. Defaults to 10 if field is not set, or set to 0. Values greater than 30 will be capped to 30. */ + pageSize?: number; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Required. The plain-text query for the request. The query is used to match prefix phrases of the fields on a person. For example, a person with name "foo name" matches queries such as "f", "fo", "foo", "foo n", "nam", etc., but not "oo n". */ + query?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * emailAddresses * metadata * names * phoneNumbers */ + readMask?: string; + }; + type PeopleBatchCreateContactsParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GooglePeople.BatchCreateContactsRequest; + }; + type PeopleBatchDeleteContactsParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GooglePeople.BatchDeleteContactsRequest; + }; + type PeopleBatchUpdateContactsParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + requestBody?: GooglePeople.BatchUpdateContactsRequest; + }; + type PeopleCreateContactParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Defaults to all fields if not set. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + personFields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. */ + sources?: Array<"READ_SOURCE_TYPE_UNSPECIFIED" | "READ_SOURCE_TYPE_PROFILE" | "READ_SOURCE_TYPE_CONTACT" | "READ_SOURCE_TYPE_DOMAIN_CONTACT" | "READ_SOURCE_TYPE_OTHER_CONTACT">; + requestBody?: GooglePeople.Person; + }; + type PeopleDeleteContactParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The resource name of the contact to delete. */ + resourceName: string; + }; + type PeopleDeleteContactPhotoParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Defaults to empty if not set, which will skip the post mutate get. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + personFields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. The resource name of the contact whose photo will be deleted. */ + resourceName: string; + /** Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. */ + sources?: Array<"READ_SOURCE_TYPE_UNSPECIFIED" | "READ_SOURCE_TYPE_PROFILE" | "READ_SOURCE_TYPE_CONTACT" | "READ_SOURCE_TYPE_DOMAIN_CONTACT" | "READ_SOURCE_TYPE_OTHER_CONTACT">; + }; + type PeopleGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. A field mask to restrict which fields on the person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + personFields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. Comma-separated list of person fields to be included in the response. Each path should start with `person.`: for example, `person.names` or `person.photos`. */ + "requestMask.includeField"?: string; + /** Required. The resource name of the person to provide information about. - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/{account_id}`. - To get information about a contact, specify the resource name that identifies the contact as returned by `people.connections.list`. */ + resourceName: string; + /** Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_PROFILE and READ_SOURCE_TYPE_CONTACT if not set. */ + sources?: Array<"READ_SOURCE_TYPE_UNSPECIFIED" | "READ_SOURCE_TYPE_PROFILE" | "READ_SOURCE_TYPE_CONTACT" | "READ_SOURCE_TYPE_DOMAIN_CONTACT" | "READ_SOURCE_TYPE_OTHER_CONTACT">; + }; + type PeopleGetBatchGetParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + personFields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. Comma-separated list of person fields to be included in the response. Each path should start with `person.`: for example, `person.names` or `person.photos`. */ + "requestMask.includeField"?: string; + /** Required. The resource names of the people to provide information about. It's repeatable. The URL query parameter should be resourceNames=&resourceNames=&... - To get information about the authenticated user, specify `people/me`. - To get information about a google account, specify `people/{account_id}`. - To get information about a contact, specify the resource name that identifies the contact as returned by `people.connections.list`. There is a maximum of 200 resource names. */ + resourceNames?: Array; + /** Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. */ + sources?: Array<"READ_SOURCE_TYPE_UNSPECIFIED" | "READ_SOURCE_TYPE_PROFILE" | "READ_SOURCE_TYPE_CONTACT" | "READ_SOURCE_TYPE_DOMAIN_CONTACT" | "READ_SOURCE_TYPE_OTHER_CONTACT">; + }; + type PeopleListDirectoryPeopleParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. Additional data to merge into the directory sources if they are connected through verified join keys such as email addresses or phone numbers. */ + mergeSources?: Array<"DIRECTORY_MERGE_SOURCE_TYPE_UNSPECIFIED" | "DIRECTORY_MERGE_SOURCE_TYPE_CONTACT">; + /** Optional. The number of people to include in the response. Valid values are between 1 and 1000, inclusive. Defaults to 100 if not set or set to 0. */ + pageSize?: number; + /** Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `people.listDirectoryPeople` must match the first call that provided the page token. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + readMask?: string; + /** Optional. Whether the response should return `next_sync_token`. It can be used to get incremental changes since the last request by setting it on the request `sync_token`. More details about sync behavior at `people.listDirectoryPeople`. */ + requestSyncToken?: boolean; + /** Required. Directory sources to return. */ + sources?: Array<"DIRECTORY_SOURCE_TYPE_UNSPECIFIED" | "DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT" | "DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE">; + /** Optional. A sync token, received from a previous response `next_sync_token` Provide this to retrieve only the resources changed since the last request. When syncing, all other parameters provided to `people.listDirectoryPeople` must match the first call that provided the sync token. More details about sync behavior at `people.listDirectoryPeople`. */ + syncToken?: string; + }; + type PeopleSearchContactsParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. The number of results to return. Defaults to 10 if field is not set, or set to 0. Values greater than 30 will be capped to 30. */ + pageSize?: number; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Required. The plain-text query for the request. The query is used to match prefix phrases of the fields on a person. For example, a person with name "foo name" matches queries such as "f", "fo", "foo", "foo n", "nam", etc., but not "oo n". */ + query?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + readMask?: string; + /** Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT if not set. */ + sources?: Array<"READ_SOURCE_TYPE_UNSPECIFIED" | "READ_SOURCE_TYPE_PROFILE" | "READ_SOURCE_TYPE_CONTACT" | "READ_SOURCE_TYPE_DOMAIN_CONTACT" | "READ_SOURCE_TYPE_OTHER_CONTACT">; + }; + type PeopleSearchDirectoryPeopleParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. Additional data to merge into the directory sources if they are connected through verified join keys such as email addresses or phone numbers. */ + mergeSources?: Array<"DIRECTORY_MERGE_SOURCE_TYPE_UNSPECIFIED" | "DIRECTORY_MERGE_SOURCE_TYPE_CONTACT">; + /** Optional. The number of people to include in the response. Valid values are between 1 and 500, inclusive. Defaults to 100 if not set or set to 0. */ + pageSize?: number; + /** Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `SearchDirectoryPeople` must match the first call that provided the page token. */ + pageToken?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Required. Prefix query that matches fields in the person. Does NOT use the read_mask for determining what fields to match. */ + query?: string; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + readMask?: string; + /** Required. Directory sources to return. */ + sources?: Array<"DIRECTORY_SOURCE_TYPE_UNSPECIFIED" | "DIRECTORY_SOURCE_TYPE_DOMAIN_CONTACT" | "DIRECTORY_SOURCE_TYPE_DOMAIN_PROFILE">; + }; + type PeopleUpdateContactParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Defaults to all fields if not set. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + personFields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** The resource name for the person, assigned by the server. An ASCII string in the form of `people/{person_id}`. */ + resourceName: string; + /** Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. */ + sources?: Array<"READ_SOURCE_TYPE_UNSPECIFIED" | "READ_SOURCE_TYPE_PROFILE" | "READ_SOURCE_TYPE_CONTACT" | "READ_SOURCE_TYPE_DOMAIN_CONTACT" | "READ_SOURCE_TYPE_OTHER_CONTACT">; + /** Required. A field mask to restrict which fields on the person are updated. Multiple fields can be specified by separating them with commas. All updated fields will be replaced. Valid values are: * addresses * biographies * birthdays * calendarUrls * clientData * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * relations * sipAddresses * urls * userDefined */ + updatePersonFields?: string; + requestBody?: GooglePeople.Person; + }; + type PeopleUpdateContactPhotoParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. Person resource name */ + resourceName: string; + requestBody?: GooglePeople.UpdateContactPhotoRequest; + }; + type PeopleConnectionsListParams = { + /** V1 error format. */ + "$.xgafv"?: "1" | "2"; + /** Data format for response. */ + alt?: "json" | "media" | "proto"; + /** Selector specifying which fields to include in a partial response. */ + fields?: string; + /** Optional. The number of connections to include in the response. Valid values are between 1 and 1000, inclusive. Defaults to 100 if not set or set to 0. */ + pageSize?: number; + /** Optional. A page token, received from a previous response `next_page_token`. Provide this to retrieve the subsequent page. When paginating, all other parameters provided to `people.connections.list` must match the first call that provided the page token. */ + pageToken?: string; + /** Required. A field mask to restrict which fields on each person are returned. Multiple fields can be specified by separating them with commas. Valid values are: * addresses * ageRanges * biographies * birthdays * calendarUrls * clientData * coverPhotos * emailAddresses * events * externalIds * genders * imClients * interests * locales * locations * memberships * metadata * miscKeywords * names * nicknames * occupations * organizations * phoneNumbers * photos * relations * sipAddresses * skills * urls * userDefined */ + personFields?: string; + /** Returns response with indentations and line breaks. */ + prettyPrint?: boolean; + /** Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. */ + quotaUser?: string; + /** Required. Comma-separated list of person fields to be included in the response. Each path should start with `person.`: for example, `person.names` or `person.photos`. */ + "requestMask.includeField"?: string; + /** Optional. Whether the response should return `next_sync_token` on the last page of results. It can be used to get incremental changes since the last request by setting it on the request `sync_token`. More details about sync behavior at `people.connections.list`. */ + requestSyncToken?: boolean; + /** Required. The resource name to return connections for. Only `people/me` is valid. */ + resourceName: string; + /** Optional. The order in which the connections should be sorted. Defaults to `LAST_MODIFIED_ASCENDING`. */ + sortOrder?: "LAST_MODIFIED_ASCENDING" | "LAST_MODIFIED_DESCENDING" | "FIRST_NAME_ASCENDING" | "LAST_NAME_ASCENDING"; + /** Optional. A mask of what source types to return. Defaults to READ_SOURCE_TYPE_CONTACT and READ_SOURCE_TYPE_PROFILE if not set. */ + sources?: Array<"READ_SOURCE_TYPE_UNSPECIFIED" | "READ_SOURCE_TYPE_PROFILE" | "READ_SOURCE_TYPE_CONTACT" | "READ_SOURCE_TYPE_DOMAIN_CONTACT" | "READ_SOURCE_TYPE_OTHER_CONTACT">; + /** Optional. A sync token, received from a previous response `next_sync_token` Provide this to retrieve only the resources changed since the last request. When syncing, all other parameters provided to `people.connections.list` must match the first call that provided the sync token. More details about sync behavior at `people.connections.list`. */ + syncToken?: string; + }; + type Client = { + contactGroups: { + /** Get a list of contact groups owned by the authenticated user by specifying a list of contact group resource names. */ + batchGet(params?: ContactGroupsBatchGetParams): Promise; + /** 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. */ + create(params?: ContactGroupsCreateParams): Promise; + /** 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. */ + delete(params: ContactGroupsDeleteParams): Promise; + /** Get a specific contact group owned by the authenticated user by specifying a contact group resource name. */ + get(params: ContactGroupsGetParams): Promise; + /** List all contact groups owned by the authenticated user. Members of the contact groups are not populated. */ + list(params?: ContactGroupsListParams): Promise; + /** 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. */ + update(params: ContactGroupsUpdateParams): Promise; + members: { + /** 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. */ + modify(params: ContactGroupsMembersModifyParams): Promise; + }; + }; + otherContacts: { + /** 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. */ + copyOtherContactToMyContactsGroup(params: OtherContactsCopyOtherContactToMyContactsGroupParams): Promise; + /** 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](https://cloud.google.com/apis/design/errors#error_info) 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](/people/v1/other-contacts#list_the_users_other_contacts_that_have_changed). */ + list(params?: OtherContactsListParams): Promise; + /** 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 */ + search(params?: OtherContactsSearchParams): Promise; + }; + people: { + /** 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. */ + batchCreateContacts(params?: PeopleBatchCreateContactsParams): Promise; + /** 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. */ + batchDeleteContacts(params?: PeopleBatchDeleteContactsParams): Promise; + /** 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. */ + batchUpdateContacts(params?: PeopleBatchUpdateContactsParams): Promise; + /** 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. */ + createContact(params?: PeopleCreateContactParams): Promise; + /** 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. */ + deleteContact(params: PeopleDeleteContactParams): Promise; + /** Delete a contact's photo. Mutate requests for the same user should be done sequentially to avoid // lock contention. */ + deleteContactPhoto(params: PeopleDeleteContactPhotoParams): Promise; + /** 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. */ + get(params: PeopleGetParams): Promise; + /** 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. */ + getBatchGet(params?: PeopleGetBatchGetParams): Promise; + /** 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](/people/v1/directory#list_the_directory_people_that_have_changed). */ + listDirectoryPeople(params?: PeopleListDirectoryPeopleParams): Promise; + /** 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 */ + searchContacts(params?: PeopleSearchContactsParams): Promise; + /** Provides a list of domain profiles and domain contacts in the authenticated user's domain directory that match the search query. */ + searchDirectoryPeople(params?: PeopleSearchDirectoryPeopleParams): Promise; + /** 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. */ + updateContact(params: PeopleUpdateContactParams): Promise; + /** Update a contact's photo. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures. */ + updateContactPhoto(params: PeopleUpdateContactPhotoParams): Promise; + connections: { + /** 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](https://cloud.google.com/apis/design/errors#error_info) 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](/people/v1/contacts#list_the_users_contacts_that_have_changed). */ + list(params: PeopleConnectionsListParams): Promise; + }; + }; + }; +} +type DriveUploadInput = { + file: File; + requestBody?: GoogleDrive.File; + "$.xgafv"?: "1" | "2"; + alt?: "json" | "media" | "proto"; + enforceSingleParent?: boolean; + fields?: string; + ignoreDefaultVisibility?: boolean; + includeLabels?: string; + includePermissionsForView?: string; + keepRevisionForever?: boolean; + ocrLanguage?: string; + prettyPrint?: boolean; + quotaUser?: string; + supportsAllDrives?: boolean; + supportsTeamDrives?: boolean; + useContentAsIndexableText?: boolean; +}; +type DriveDownloadInput = { + acknowledgeAbuse?: boolean; + fileId: string; + path: string; + sha256?: string; +}; +type GoogleWorkspaceNamespace = { + /** Request the employee's Google Workspace grant from Chrome Identity. */ + authorize(): Promise<{ + authorized: true; + }>; + drive(): GoogleDrive.Client; + gmail(): GoogleGmail.Client; + calendar(): GoogleCalendar.Client; + docs(): GoogleDocs.Client; + sheets(): GoogleSheets.Client; + slides(): GoogleSlides.Client; + chat(): GoogleChat.Client; + people(): GooglePeople.Client; +}; +declare global { + interface ApplicationsNamespace { + "google-workspace": GoogleWorkspaceNamespace; + } +} +//#endregion +//#region src/application-face.d.ts +type ApplicationCard = { + readonly availability: string; + readonly id: string; + readonly name: string; + readonly summary: string; +}; +type ApplicationMember = { + readonly callPrefix: string; + readonly effect: "authorization" | "read" | "write"; + readonly inputNames: readonly string[]; + readonly output: string; + readonly path: string; + readonly signature: string; + readonly summary: string; +}; +type CuratedApplicationFace = { + readonly card: ApplicationCard; + readonly members: readonly ApplicationMember[]; + readonly relatedSkills: readonly string[]; +}; +//#endregion +//#region src/google-workspace.members.generated.d.ts +type GoogleWorkspaceMember = ApplicationMember; +declare const GOOGLE_WORKSPACE_MEMBER_INDEX: readonly [{ + readonly effect: "authorization"; + readonly inputNames: readonly []; + readonly path: "authorize"; + readonly signature: "ctx.applications[\"google-workspace\"].authorize(): Promise<{ authorized: true }>"; + readonly summary: "Request the employee's Google Workspace grant from Chrome Identity."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].authorize"; + readonly output: "{ authorized: true }"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "ruleId", "userIp"]; + readonly path: "calendar.acl.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.delete(input: object): Promise"; + readonly summary: "Deletes an access control rule."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "ruleId", "userIp"]; + readonly path: "calendar.acl.get"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.get(input: object): Promise"; + readonly summary: "Returns an access control rule."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "sendNotifications", "userIp", "requestBody"]; + readonly path: "calendar.acl.insert"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.insert(input: object): Promise"; + readonly summary: "Creates an access control rule."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.insert"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "maxResults", "pageToken", "prettyPrint", "quotaUser", "showDeleted", "syncToken", "userIp"]; + readonly path: "calendar.acl.list"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.list(input: object): Promise"; + readonly summary: "Returns the rules in the access control list for the calendar."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "ruleId", "sendNotifications", "userIp", "requestBody"]; + readonly path: "calendar.acl.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.patch(input: object): Promise"; + readonly summary: "Updates an access control rule. This method supports patch semantics."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.patch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "ruleId", "sendNotifications", "userIp", "requestBody"]; + readonly path: "calendar.acl.update"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.update(input: object): Promise"; + readonly summary: "Updates an access control rule."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "maxResults", "pageToken", "prettyPrint", "quotaUser", "showDeleted", "syncToken", "userIp", "requestBody"]; + readonly path: "calendar.acl.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.watch(input: object): Promise"; + readonly summary: "Watch for changes to ACL resources."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.watch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp"]; + readonly path: "calendar.calendarList.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.delete(input: object): Promise"; + readonly summary: "Removes a calendar from the user's calendar list."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp"]; + readonly path: "calendar.calendarList.get"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.get(input: object): Promise"; + readonly summary: "Returns a calendar from the user's calendar list."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "colorRgbFormat", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.calendarList.insert"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.insert(input?: object): Promise"; + readonly summary: "Inserts an existing calendar into the user's calendar list."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.insert"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "fields", "maxResults", "minAccessRole", "pageToken", "prettyPrint", "quotaUser", "showDeleted", "showHidden", "showOwnOrganizationOnly", "syncToken", "userIp"]; + readonly path: "calendar.calendarList.list"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.list(input?: object): Promise"; + readonly summary: "Returns the calendars on the user's calendar list."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "colorRgbFormat", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.calendarList.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.patch(input: object): Promise"; + readonly summary: "Updates an existing calendar on the user's calendar list. This method supports patch semantics."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.patch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "colorRgbFormat", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.calendarList.update"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.update(input: object): Promise"; + readonly summary: "Updates an existing calendar on the user's calendar list."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "fields", "maxResults", "minAccessRole", "pageToken", "prettyPrint", "quotaUser", "showDeleted", "showHidden", "showOwnOrganizationOnly", "syncToken", "userIp", "requestBody"]; + readonly path: "calendar.calendarList.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.watch(input?: object): Promise"; + readonly summary: "Watch for changes to CalendarList resources."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.watch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp"]; + readonly path: "calendar.calendars.clear"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.clear(input: object): Promise"; + readonly summary: "Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.clear"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp"]; + readonly path: "calendar.calendars.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.delete(input: object): Promise"; + readonly summary: "Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp"]; + readonly path: "calendar.calendars.get"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.get(input: object): Promise"; + readonly summary: "Returns metadata for a calendar."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.calendars.insert"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.insert(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.insert"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.calendars.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.patch(input: object): Promise"; + readonly summary: "Updates metadata for a calendar. This method supports patch semantics."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.patch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "newDataOwner", "prettyPrint", "quotaUser", "useAdminAccess", "userIp"]; + readonly path: "calendar.calendars.transferOwnership"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.transferOwnership(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.transferOwnership"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.calendars.update"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.update(input: object): Promise"; + readonly summary: "Updates metadata for a calendar."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.channels.stop"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().channels.stop(input?: object): Promise"; + readonly summary: "Stop watching resources through this channel"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().channels.stop"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "fields", "prettyPrint", "quotaUser", "userIp"]; + readonly path: "calendar.colors.get"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().colors.get(input?: object): Promise"; + readonly summary: "Returns the color definitions for calendars and events."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().colors.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "eventId", "fields", "prettyPrint", "quotaUser", "sendNotifications", "sendUpdates", "userIp"]; + readonly path: "calendar.events.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.delete(input: object): Promise"; + readonly summary: "Deletes an event."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "alwaysIncludeEmail", "calendarId", "eventId", "fields", "maxAttendees", "prettyPrint", "quotaUser", "timeZone", "userIp"]; + readonly path: "calendar.events.get"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.get(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "conferenceDataVersion", "eventLabelVersion", "fields", "prettyPrint", "quotaUser", "supportsAttachments", "userIp", "requestBody"]; + readonly path: "calendar.events.import"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.import(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.import"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "conferenceDataVersion", "eventLabelVersion", "fields", "maxAttendees", "prettyPrint", "quotaUser", "sendNotifications", "sendUpdates", "supportsAttachments", "userIp", "requestBody"]; + readonly path: "calendar.events.insert"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.insert(input: object): Promise"; + readonly summary: "Creates an event."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.insert"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "alwaysIncludeEmail", "calendarId", "eventId", "fields", "maxAttendees", "maxResults", "originalStart", "pageToken", "prettyPrint", "quotaUser", "showDeleted", "timeMax", "timeMin", "timeZone", "userIp"]; + readonly path: "calendar.events.instances"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.instances(input: object): Promise"; + readonly summary: "Returns instances of the specified recurring event."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.instances"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "alwaysIncludeEmail", "calendarId", "eventTypes", "fields", "iCalUID", "maxAttendees", "maxResults", "orderBy", "pageToken", "prettyPrint", "privateExtendedProperty", "q", "quotaUser", "sharedExtendedProperty", "showDeleted", "showHiddenInvitations", "singleEvents", "syncToken", "timeMax", "timeMin", "timeZone", "updatedMin", "userIp"]; + readonly path: "calendar.events.list"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.list(input: object): Promise"; + readonly summary: "Returns events on the specified calendar."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "destination", "eventId", "fields", "prettyPrint", "quotaUser", "sendNotifications", "sendUpdates", "userIp"]; + readonly path: "calendar.events.move"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.move(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.move"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "alwaysIncludeEmail", "calendarId", "conferenceDataVersion", "eventId", "eventLabelVersion", "fields", "maxAttendees", "prettyPrint", "quotaUser", "sendNotifications", "sendUpdates", "supportsAttachments", "userIp", "requestBody"]; + readonly path: "calendar.events.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.patch(input: object): Promise"; + readonly summary: "Updates an event. This method supports patch semantics."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.patch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "sendNotifications", "sendUpdates", "text", "userIp"]; + readonly path: "calendar.events.quickAdd"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.quickAdd(input: object): Promise"; + readonly summary: "Creates an event based on a simple text string."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.quickAdd"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "alwaysIncludeEmail", "calendarId", "conferenceDataVersion", "eventId", "eventLabelVersion", "fields", "maxAttendees", "prettyPrint", "quotaUser", "sendNotifications", "sendUpdates", "supportsAttachments", "userIp", "requestBody"]; + readonly path: "calendar.events.update"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.update(input: object): Promise"; + readonly summary: "Updates an event."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "alwaysIncludeEmail", "calendarId", "eventTypes", "fields", "iCalUID", "maxAttendees", "maxResults", "orderBy", "pageToken", "prettyPrint", "privateExtendedProperty", "q", "quotaUser", "sharedExtendedProperty", "showDeleted", "showHiddenInvitations", "singleEvents", "syncToken", "timeMax", "timeMin", "timeZone", "updatedMin", "userIp", "requestBody"]; + readonly path: "calendar.events.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.watch(input: object): Promise"; + readonly summary: "Watch for changes to Events resources."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.watch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.freebusy.query"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().freebusy.query(input?: object): Promise"; + readonly summary: "Returns free/busy information for a set of calendars."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().freebusy.query"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "fields", "prettyPrint", "quotaUser", "setting", "userIp"]; + readonly path: "calendar.settings.get"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().settings.get(input: object): Promise"; + readonly summary: "Returns a single user setting."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().settings.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "fields", "maxResults", "pageToken", "prettyPrint", "quotaUser", "syncToken", "userIp"]; + readonly path: "calendar.settings.list"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().settings.list(input?: object): Promise"; + readonly summary: "Returns all user settings for the authenticated user."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().settings.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "fields", "maxResults", "pageToken", "prettyPrint", "quotaUser", "syncToken", "userIp", "requestBody"]; + readonly path: "calendar.settings.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().settings.watch(input?: object): Promise"; + readonly summary: "Watch for changes to Settings resources."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().settings.watch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.customEmojis.create"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().customEmojis.create(input?: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().customEmojis.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.customEmojis.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().customEmojis.delete(input: object): Promise"; + readonly summary: "Deletes a custom emoji. By default, users can only delete custom emoji they created. [Emoji managers](https://support.google.com/a/answer/12850085) assigned by the administrator can delete any custom emoji in the organization. See [Learn about custom emojis in Google Chat](https://support.google.com/chat/answer/12800149). 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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().customEmojis.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.customEmojis.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().customEmojis.get(input: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis.readonly` - `https://www.googleapis.com/auth/chat.customemojis`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().customEmojis.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "pageSize", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "chat.customEmojis.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().customEmojis.list(input?: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis.readonly` - `https://www.googleapis.com/auth/chat.customemojis`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().customEmojis.list"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "resourceName"]; + readonly path: "chat.media.download"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().media.download(input: object): Promise"; + readonly summary: "Downloads media. Download is supported on the URI `/v1/media/{+name}?alt=media`."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().media.download"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "parent", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.media.upload"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().media.upload(input: object): Promise"; + readonly summary: "Uploads an attachment. For an example, see [Upload media as a file attachment](https://developers.google.com/workspace/chat/upload-media-attachments). Requires user [authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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](https://support.google.com/chat/answer/7651457?&co=GENIE.Platform%3DDesktop#File%20types%20blocked%20in%20Google%20Chat)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().media.upload"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.spaces.completeImport"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.completeImport(input: object): Promise"; + readonly summary: "Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified space and makes it visible to users. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) and domain-wide delegation with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.import` For more information, see [Authorize Google Chat apps to import data](https://developers.google.com/workspace/chat/authorize-import)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.completeImport"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestId", "requestBody"]; + readonly path: "chat.spaces.create"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.create(input?: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/create-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "useAdminAccess"]; + readonly path: "chat.spaces.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.delete` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.findDirectMessage"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.findDirectMessage(input?: object): Promise"; + readonly summary: "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](/chat/api/guides/v1/spaces/find-direct-message). With [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app), returns the direct message space between the specified user and the calling Chat app. With [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), returns the direct message space between the specified user and the authenticated user. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.readonly` - `https://www.googleapis.com/auth/chat.spaces`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.findDirectMessage"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "prettyPrint", "quotaUser", "spaceView", "users"]; + readonly path: "chat.spaces.findGroupChats"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.findGroupChats(input?: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.memberships.readonly` - `https://www.googleapis.com/auth/chat.memberships`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.findGroupChats"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "useAdminAccess"]; + readonly path: "chat.spaces.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.get(input: object): Promise"; + readonly summary: "Returns details about a space. For an example, see [Get details about a space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "pageSize", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.list(input?: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/list-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method using Workspace administrator privileges instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "parent", "prettyPrint", "quotaUser", "useAdminAccess", "requestBody"]; + readonly path: "chat.spaces.members.create"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.members.create(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or add a Google Group to a space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the Chat app to a space](https://developers.google.com/workspace/chat/create-members#create-membership-calling-api)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.members.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "useAdminAccess"]; + readonly path: "chat.spaces.members.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.members.delete(input: object): Promise"; + readonly summary: "Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) the Chat app must be the space creator."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.members.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "useAdminAccess"]; + readonly path: "chat.spaces.members.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.members.get(input: object): Promise"; + readonly summary: "Returns details about a membership. For an example, see [Get details about a user's or Google Chat app's membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth)) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.members.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "pageSize", "pageToken", "parent", "prettyPrint", "quotaUser", "showGroups", "showInvited", "useAdminAccess"]; + readonly path: "chat.spaces.members.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.members.list(input: object): Promise"; + readonly summary: "Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth)) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.members.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "useAdminAccess", "requestBody"]; + readonly path: "chat.spaces.members.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.members.patch(input: object): Promise"; + readonly summary: "Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.members.patch"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.messages.attachments.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.attachments.get(input: object): Promise"; + readonly summary: "Gets the metadata of a message attachment. The attachment data is fetched using the [media API](https://developers.google.com/workspace/chat/api/reference/rest/v1/media/download). For an example, see [Get metadata about a message attachment](https://developers.google.com/workspace/chat/get-media-attachments). Requires [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.bot`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.attachments.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "createMessageNotificationOptions.notificationType", "fields", "messageId", "messageReplyOption", "parent", "prettyPrint", "quotaUser", "requestId", "threadKey", "requestBody"]; + readonly path: "chat.spaces.messages.create"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.create(input: object): Promise"; + readonly summary: "Creates a message in a Google Chat space. For an example, see [Send a message](https://developers.google.com/workspace/chat/create-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/images/message-app-auth.svg) 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](https://developers.google.com/workspace/chat/images/message-user-auth.svg) The maximum message size, including the message contents, is 32,000 bytes. For [webhook](https://developers.google.com/workspace/chat/quickstart/webhooks) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "force", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.messages.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.delete(input: object): Promise"; + readonly summary: "Deletes a message. For an example, see [Delete a message](https://developers.google.com/workspace/chat/delete-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "markupSyntax", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.messages.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.get(input: object): Promise"; + readonly summary: "Returns details about a message. For an example, see [Get details about a message](https://developers.google.com/workspace/chat/get-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://developers.google.com/workspace/chat/slash-commands) that invoke the Chat app. - `https://www.googleapis.com/auth/chat.app.messages.readonly` with [administrator approval](https://support.google.com/a?p=chat-app-auth). When using this authentication scope, this method returns details about a public message in a space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "markupSyntax", "orderBy", "pageSize", "pageToken", "parent", "prettyPrint", "quotaUser", "showDeleted"]; + readonly path: "chat.spaces.messages.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.list(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/api/guides/v1/messages/list). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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)"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "allowMissing", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "requestBody"]; + readonly path: "chat.spaces.messages.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.patch(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/update-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.patch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "parent", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.spaces.messages.reactions.create"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.create(input: object): Promise"; + readonly summary: "Creates a reaction and adds it to a message. For an example, see [Add a reaction to a message](https://developers.google.com/workspace/chat/create-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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)"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.messages.reactions.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.delete(input: object): Promise"; + readonly summary: "Deletes a reaction to a message. For an example, see [Delete a reaction](https://developers.google.com/workspace/chat/delete-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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)"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "pageSize", "pageToken", "parent", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.messages.reactions.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.list(input: object): Promise"; + readonly summary: "Lists reactions to a message. For an example, see [List reactions for a message](https://developers.google.com/workspace/chat/list-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "parent", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.spaces.messages.search"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.search(input: object): Promise"; + readonly summary: "Searches for messages in Google Chat that the calling user has access to. Returns a list of messages matching the search criteria. To search across all spaces the user has access to, set `parent` to `spaces/-`. Using any other value for `parent` results in an `INVALID_ARGUMENT` error. The returned messages have their `name` field populated with the full resource name, which includes the specific `space` in which the message resides. This API doesn't return all message types. The types of messages listed below aren't included in the response. Use ListMessages to list all messages. - Private Messages that are visible to the authenticated user. - Messages posted by Chat apps in spaces or group chats. - Messages in a Chat app DM. - Messages from blocked users. - Messages in spaces that the caller has muted. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.messages.readonly` - `https://www.googleapis.com/auth/chat.messages`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.search"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "allowMissing", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "requestBody"]; + readonly path: "chat.spaces.messages.update"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.update(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/update-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "useAdminAccess", "requestBody"]; + readonly path: "chat.spaces.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.patch(input: object): Promise"; + readonly summary: "Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). 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](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.patch"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "orderBy", "pageSize", "pageToken", "prettyPrint", "query", "quotaUser", "useAdminAccess"]; + readonly path: "chat.spaces.search"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.search(input?: object): Promise"; + readonly summary: "Returns a list of spaces in a Google Workspace organization. For an example, see [Search for and manage spaces](https://developers.google.com/workspace/chat/search-manage-admin). 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`. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges) and one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.admin.spaces.readonly` - `https://www.googleapis.com/auth/chat.admin.spaces`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.search"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.spaces.setup"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.setup(input?: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/set-up-spaces). 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](https://cloud.google.com/identity/docs/reference/rest/v1/groups/lookup) 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](https://developers.google.com/workspace/chat/create-members). 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.spaces.create` - `https://www.googleapis.com/auth/chat.spaces`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.setup"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.spaceEvents.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.get(input: object): Promise"; + readonly summary: "Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_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](https://developers.google.com/workspace/chat/authenticate-authorize) with an [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes) appropriate for reading the requested data: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/get-space-event)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "pageSize", "pageToken", "parent", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.spaceEvents.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.list(input: object): Promise"; + readonly summary: "Lists events from a Google Chat space. For each event, the [payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_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](https://developers.google.com/workspace/chat/authenticate-authorize) with an [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes) appropriate for reading the requested data: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/list-space-events)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.list"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.availability.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.availability.get(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability.readonly` - `https://www.googleapis.com/auth/chat.users.availability`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.availability.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.users.availability.markAsActive"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.availability.markAsActive(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.availability.markAsActive"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.users.availability.markAsAway"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.availability.markAsAway(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.availability.markAsAway"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.users.availability.markAsDoNotDisturb"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.availability.markAsDoNotDisturb(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.availability.markAsDoNotDisturb"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "requestBody"]; + readonly path: "chat.users.availability.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.availability.patch(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.availability.patch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "parent", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.users.sections.create"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.create(input: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.sections.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.delete(input: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "pageSize", "pageToken", "parent", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.sections.items.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.items.list(input: object): Promise"; + readonly summary: "Lists items in a section. Only spaces can be section items. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` - `https://www.googleapis.com/auth/chat.users.sections.readonly`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.items.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.users.sections.items.move"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.items.move(input: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.items.move"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "parent", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.sections.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.list(input: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` - `https://www.googleapis.com/auth/chat.users.sections.readonly`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "requestBody"]; + readonly path: "chat.users.sections.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.patch(input: object): Promise"; + readonly summary: "Updates a section. Only sections of type `CUSTOM_SECTION` can be updated. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.patch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.users.sections.position"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.position(input: object): Promise"; + readonly summary: "Changes the sort order of a section. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.position"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.spaces.getSpaceReadState"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.spaces.getSpaceReadState(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/get-space-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate.readonly` - `https://www.googleapis.com/auth/chat.users.readstate`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.spaces.getSpaceReadState"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.spaces.spaceNotificationSetting.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.get(input: object): Promise"; + readonly summary: "Gets the space notification setting. For an example, see [Get the caller's space notification setting](https://developers.google.com/workspace/chat/get-space-notification-setting). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.spacesettings`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "requestBody"]; + readonly path: "chat.users.spaces.spaceNotificationSetting.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.patch(input: object): Promise"; + readonly summary: "Updates the space notification setting. For an example, see [Update the caller's space notification setting](https://developers.google.com/workspace/chat/update-space-notification-setting). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.spacesettings`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.patch"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.spaces.threads.getThreadReadState"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.spaces.threads.getThreadReadState(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/get-thread-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate.readonly` - `https://www.googleapis.com/auth/chat.users.readstate`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.spaces.threads.getThreadReadState"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "requestBody"]; + readonly path: "chat.users.spaces.updateSpaceReadState"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.spaces.updateSpaceReadState(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/update-space-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.spaces.updateSpaceReadState"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "documentId", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "docs.documents.batchUpdate"; + readonly signature: "ctx.applications[\"google-workspace\"].docs().documents.batchUpdate(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].docs().documents.batchUpdate"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "docs.documents.create"; + readonly signature: "ctx.applications[\"google-workspace\"].docs().documents.create(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].docs().documents.create"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "documentId", "fields", "includeTabsContent", "prettyPrint", "quotaUser", "suggestionsViewMode"]; + readonly path: "docs.documents.get"; + readonly signature: "ctx.applications[\"google-workspace\"].docs().documents.get(input: object): Promise"; + readonly summary: "Gets the latest version of the specified document."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].docs().documents.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser"]; + readonly path: "drive.about.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().about.get(input?: object): Promise"; + readonly summary: "Gets information about the user, the user's Drive, and system capabilities. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().about.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "proposalId", "quotaUser"]; + readonly path: "drive.accessproposals.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().accessproposals.get(input: object): Promise"; + readonly summary: "Retrieves an access proposal by ID. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().accessproposals.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "pageSize", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "drive.accessproposals.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().accessproposals.list(input: object): Promise"; + readonly summary: "List the access proposals on a file. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access). Note: Only approvers are able to list access proposals on a file. If the user isn't an approver, a 403 error is returned."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().accessproposals.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "proposalId", "quotaUser", "requestBody"]; + readonly path: "drive.accessproposals.resolve"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().accessproposals.resolve(input: object): Promise"; + readonly summary: "Approves or denies an access proposal. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().accessproposals.resolve"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "approvalId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.approvals.approve"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.approve(input: object): Promise"; + readonly summary: "Approves an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.approve"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "approvalId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.approvals.cancel"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.cancel(input: object): Promise"; + readonly summary: "Cancels an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.cancel"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "approvalId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.approvals.comment"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.comment(input: object): Promise"; + readonly summary: "Comments on an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals). This sends a notification to both the initiator and the reviewers. Additionally, a message is also added to the approval activity log."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.comment"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "approvalId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.approvals.decline"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.decline(input: object): Promise"; + readonly summary: "Declines an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.decline"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "approvalId", "fields", "fileId", "prettyPrint", "quotaUser"]; + readonly path: "drive.approvals.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.get(input: object): Promise"; + readonly summary: "Gets an approval by ID. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "pageSize", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "drive.approvals.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.list(input: object): Promise"; + readonly summary: "Lists the approvals on a file. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "approvalId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.approvals.reassign"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.reassign(input: object): Promise"; + readonly summary: "Reassigns the reviewers on an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.reassign"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.approvals.start"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.start(input: object): Promise"; + readonly summary: "Starts an approval on a file. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.start"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "appId", "fields", "prettyPrint", "quotaUser"]; + readonly path: "drive.apps.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().apps.get(input: object): Promise"; + readonly summary: "Gets a specific app. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().apps.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "appFilterExtensions", "appFilterMimeTypes", "fields", "languageCode", "prettyPrint", "quotaUser"]; + readonly path: "drive.apps.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().apps.list(input?: object): Promise"; + readonly summary: "Lists a user's installed apps. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().apps.list"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "teamDriveId"]; + readonly path: "drive.changes.getStartPageToken"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().changes.getStartPageToken(input?: object): Promise"; + readonly summary: "Gets the starting pageToken for listing future changes. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().changes.getStartPageToken"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "includeCorpusRemovals", "includeItemsFromAllDrives", "includeLabels", "includePermissionsForView", "includeRemoved", "includeTeamDriveItems", "pageSize", "pageToken", "prettyPrint", "quotaUser", "restrictToMyDrive", "spaces", "supportsAllDrives", "supportsTeamDrives", "teamDriveId"]; + readonly path: "drive.changes.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().changes.list(input: object): Promise"; + readonly summary: "Lists the changes for a user or shared drive. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().changes.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "includeCorpusRemovals", "includeItemsFromAllDrives", "includeLabels", "includePermissionsForView", "includeRemoved", "includeTeamDriveItems", "pageSize", "pageToken", "prettyPrint", "quotaUser", "restrictToMyDrive", "spaces", "supportsAllDrives", "supportsTeamDrives", "teamDriveId", "requestBody"]; + readonly path: "drive.changes.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().changes.watch(input: object): Promise"; + readonly summary: "Subscribes to changes for a user. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().changes.watch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.channels.stop"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().channels.stop(input?: object): Promise"; + readonly summary: "Stops watching resources through this channel. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().channels.stop"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.comments.create"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().comments.create(input: object): Promise"; + readonly summary: "Creates a comment on a file. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().comments.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "prettyPrint", "quotaUser"]; + readonly path: "drive.comments.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().comments.delete(input: object): Promise"; + readonly summary: "Deletes a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().comments.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "includeDeleted", "prettyPrint", "quotaUser"]; + readonly path: "drive.comments.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().comments.get(input: object): Promise"; + readonly summary: "Gets a comment by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().comments.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "includeDeleted", "pageSize", "pageToken", "prettyPrint", "quotaUser", "startModifiedTime"]; + readonly path: "drive.comments.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().comments.list(input: object): Promise"; + readonly summary: "Lists a file's comments. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().comments.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.comments.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().comments.update(input: object): Promise"; + readonly summary: "Updates a comment with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().comments.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestId", "requestBody"]; + readonly path: "drive.drives.create"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.create(input: object): Promise"; + readonly summary: "Creates a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "allowItemDeletion", "alt", "driveId", "fields", "prettyPrint", "quotaUser", "useDomainAdminAccess"]; + readonly path: "drive.drives.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "prettyPrint", "quotaUser", "useDomainAdminAccess"]; + readonly path: "drive.drives.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.get(input: object): Promise"; + readonly summary: "Gets a shared drive's metadata by ID. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "prettyPrint", "quotaUser"]; + readonly path: "drive.drives.hide"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.hide(input: object): Promise"; + readonly summary: "Hides a shared drive from the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.hide"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "prettyPrint", "q", "quotaUser", "useDomainAdminAccess"]; + readonly path: "drive.drives.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.list(input?: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/drive/api/guides/search-shareddrives) guide."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "prettyPrint", "quotaUser"]; + readonly path: "drive.drives.unhide"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.unhide(input: object): Promise"; + readonly summary: "Restores a shared drive to the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.unhide"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "prettyPrint", "quotaUser", "useDomainAdminAccess", "requestBody"]; + readonly path: "drive.drives.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.update(input: object): Promise"; + readonly summary: "Updates the metadata for a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "enforceSingleParent", "fields", "fileId", "ignoreDefaultVisibility", "includeLabels", "includePermissionsForView", "keepRevisionForever", "ocrLanguage", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "requestBody"]; + readonly path: "drive.files.copy"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.copy(input: object): Promise"; + readonly summary: "Creates a copy of a file and applies any requested updates with patch semantics. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.copy"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "enforceSingleParent", "fields", "ignoreDefaultVisibility", "includeLabels", "includePermissionsForView", "keepRevisionForever", "ocrLanguage", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "useContentAsIndexableText", "requestBody"]; + readonly path: "drive.files.create"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.create(input?: object): Promise"; + readonly summary: "Creates a file. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file). 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](https://developers.google.com/workspace/drive/api/guides/mime-types).) For more information on uploading files, see [Upload file data](https://developers.google.com/workspace/drive/api/guides/manage-uploads). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "enforceSingleParent", "fields", "fileId", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives"]; + readonly path: "drive.files.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.delete(input: object): Promise"; + readonly summary: "Permanently deletes a file owned by the user without moving it to the trash. For more information, see [Trash or delete files and folders](https://developers.google.com/workspace/drive/api/guides/delete). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.delete"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "mimeType", "prettyPrint", "quotaUser", "revisionId"]; + readonly path: "drive.files.download"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.download(input: object): Promise"; + readonly summary: "Downloads the content of a file. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Operations are valid for 24 hours from the time of creation."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.download"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["acknowledgeAbuse", "fileId", "path", "sha256"]; + readonly path: "drive.files.downloadToWorkspace"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.downloadToWorkspace(input: DriveDownloadInput): Promise<{ path: string; sha256: string; size: number }>"; + readonly summary: "Stream Drive bytes directly into an atomically published workspace path."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.downloadToWorkspace"; + readonly output: "{ path: string; sha256: string; size: number }"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "enforceSingleParent", "fields", "prettyPrint", "quotaUser"]; + readonly path: "drive.files.emptyTrash"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.emptyTrash(input?: object): Promise"; + readonly summary: "Permanently deletes all of the user's trashed files. For more information, see [Trash or delete files and folders](https://developers.google.com/workspace/drive/api/guides/delete)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.emptyTrash"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "mimeType", "prettyPrint", "quotaUser"]; + readonly path: "drive.files.export"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.export(input: object): Promise"; + readonly summary: "Exports a Google Workspace document to the requested MIME type and returns exported byte content. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Note that the exported content is limited to 10 MB."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.export"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "parent", "prettyPrint", "quotaUser"]; + readonly path: "drive.files.generateCseToken"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.generateCseToken(input?: object): Promise"; + readonly summary: "Generates a CSE token which can be used to create or update CSE files."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.generateCseToken"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "count", "fields", "prettyPrint", "quotaUser", "space", "type"]; + readonly path: "drive.files.generateIds"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.generateIds(input?: object): Promise"; + readonly summary: "Generates a set of file IDs which can be provided in create or copy requests. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.generateIds"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "acknowledgeAbuse", "alt", "fields", "fileId", "includeLabels", "includePermissionsForView", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives"]; + readonly path: "drive.files.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.get(input: object): Promise"; + readonly summary: "Gets a file's metadata or content by ID. For more information, see [Search for files and folders](https://developers.google.com/workspace/drive/api/guides/search-files). 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`](https://developers.google.com/workspace/drive/api/reference/rest/v3/files/export) instead. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "corpora", "corpus", "driveId", "fields", "includeItemsFromAllDrives", "includeLabels", "includePermissionsForView", "includeTeamDriveItems", "orderBy", "pageSize", "pageToken", "prettyPrint", "q", "quotaUser", "spaces", "supportsAllDrives", "supportsTeamDrives", "teamDriveId"]; + readonly path: "drive.files.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.list(input?: object): Promise"; + readonly summary: "Lists the user's files. For more information, see [Search for files and folders](https://developers.google.com/workspace/drive/api/guides/search-files). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.list"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "maxResults", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "drive.files.listLabels"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.listLabels(input: object): Promise"; + readonly summary: "Lists the labels on a file. For more information, see [List labels on a file](https://developers.google.com/workspace/drive/api/guides/list-labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.listLabels"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.files.modifyLabels"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.modifyLabels(input: object): Promise"; + readonly summary: "Modifies the set of labels applied to a file. For more information, see [Set a label field on a file](https://developers.google.com/workspace/drive/api/guides/set-label). Returns a list of the labels that were added or modified."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.modifyLabels"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "addParents", "alt", "enforceSingleParent", "fields", "fileId", "includeLabels", "includePermissionsForView", "keepRevisionForever", "ocrLanguage", "prettyPrint", "quotaUser", "removeParents", "supportsAllDrives", "supportsTeamDrives", "useContentAsIndexableText", "requestBody"]; + readonly path: "drive.files.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.update(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/drive/api/guides/mime-types).) For more information on uploading files, see [Upload file data](https://developers.google.com/workspace/drive/api/guides/manage-uploads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["file", "requestBody"]; + readonly path: "drive.files.upload"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.upload(input: DriveUploadInput): Promise"; + readonly summary: "Upload a native browser File without base64 or a model-visible byte body."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.upload"; + readonly output: "GoogleDrive.File"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "acknowledgeAbuse", "alt", "fields", "fileId", "includeLabels", "includePermissionsForView", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "requestBody"]; + readonly path: "drive.files.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.watch(input: object): Promise"; + readonly summary: "Subscribes to changes to a file. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.watch"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "drive.operations.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().operations.get(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().operations.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "emailMessage", "enforceExpansiveAccess", "enforceSingleParent", "fields", "fileId", "moveToNewOwnersRoot", "prettyPrint", "quotaUser", "sendNotificationEmail", "supportsAllDrives", "supportsTeamDrives", "transferOwnership", "useDomainAdminAccess", "requestBody"]; + readonly path: "drive.permissions.create"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().permissions.create(input: object): Promise"; + readonly summary: "Creates a permission for a file or shared drive. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().permissions.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "enforceExpansiveAccess", "fields", "fileId", "permissionId", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "useDomainAdminAccess"]; + readonly path: "drive.permissions.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().permissions.delete(input: object): Promise"; + readonly summary: "Deletes a permission. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().permissions.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "permissionId", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "useDomainAdminAccess"]; + readonly path: "drive.permissions.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().permissions.get(input: object): Promise"; + readonly summary: "Gets a permission by ID. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().permissions.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "includePermissionsForView", "pageSize", "pageToken", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "useDomainAdminAccess"]; + readonly path: "drive.permissions.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().permissions.list(input: object): Promise"; + readonly summary: "Lists a file's or shared drive's permissions. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().permissions.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "enforceExpansiveAccess", "fields", "fileId", "permissionId", "prettyPrint", "quotaUser", "removeExpiration", "supportsAllDrives", "supportsTeamDrives", "transferOwnership", "useDomainAdminAccess", "requestBody"]; + readonly path: "drive.permissions.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().permissions.update(input: object): Promise"; + readonly summary: "Updates a permission with patch semantics. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().permissions.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.replies.create"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().replies.create(input: object): Promise"; + readonly summary: "Creates a reply to a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().replies.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "prettyPrint", "quotaUser", "replyId"]; + readonly path: "drive.replies.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().replies.delete(input: object): Promise"; + readonly summary: "Deletes a reply. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().replies.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "includeDeleted", "prettyPrint", "quotaUser", "replyId"]; + readonly path: "drive.replies.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().replies.get(input: object): Promise"; + readonly summary: "Gets a reply by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().replies.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "includeDeleted", "pageSize", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "drive.replies.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().replies.list(input: object): Promise"; + readonly summary: "Lists a comment's replies. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().replies.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "prettyPrint", "quotaUser", "replyId", "requestBody"]; + readonly path: "drive.replies.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().replies.update(input: object): Promise"; + readonly summary: "Updates a reply with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().replies.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "quotaUser", "revisionId"]; + readonly path: "drive.revisions.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().revisions.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/drive/api/guides/manage-revisions)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().revisions.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "acknowledgeAbuse", "alt", "fields", "fileId", "prettyPrint", "quotaUser", "revisionId"]; + readonly path: "drive.revisions.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().revisions.get(input: object): Promise"; + readonly summary: "Gets a revision's metadata or content by ID. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().revisions.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "pageSize", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "drive.revisions.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().revisions.list(input: object): Promise"; + readonly summary: "Lists a file's revisions. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().revisions.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "quotaUser", "revisionId", "requestBody"]; + readonly path: "drive.revisions.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().revisions.update(input: object): Promise"; + readonly summary: "Updates a revision with patch semantics. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().revisions.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestId", "requestBody"]; + readonly path: "drive.teamdrives.create"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().teamdrives.create(input: object): Promise"; + readonly summary: "Deprecated: Use `drives.create` instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().teamdrives.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "teamDriveId"]; + readonly path: "drive.teamdrives.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().teamdrives.delete(input: object): Promise"; + readonly summary: "Deprecated: Use `drives.delete` instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().teamdrives.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "teamDriveId", "useDomainAdminAccess"]; + readonly path: "drive.teamdrives.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().teamdrives.get(input: object): Promise"; + readonly summary: "Deprecated: Use `drives.get` instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().teamdrives.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "prettyPrint", "q", "quotaUser", "useDomainAdminAccess"]; + readonly path: "drive.teamdrives.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().teamdrives.list(input?: object): Promise"; + readonly summary: "Deprecated: Use `drives.list` instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().teamdrives.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "teamDriveId", "useDomainAdminAccess", "requestBody"]; + readonly path: "drive.teamdrives.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().teamdrives.update(input: object): Promise"; + readonly summary: "Deprecated: Use `drives.update` instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().teamdrives.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.drafts.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.drafts.create(input: object): Promise"; + readonly summary: "Creates a draft with the `DRAFT` label. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.drafts.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.drafts.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.drafts.delete(input: object): Promise"; + readonly summary: "Immediately and permanently deletes the specified draft. Does not simply trash it. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.drafts.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "format", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.drafts.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.drafts.get(input: object): Promise"; + readonly summary: "Gets the specified draft. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.drafts.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "includeSpamTrash", "maxResults", "pageToken", "prettyPrint", "q", "quotaUser", "userId"]; + readonly path: "gmail.users.drafts.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.drafts.list(input: object): Promise"; + readonly summary: "Lists the drafts in the user's mailbox. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.drafts.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.drafts.send"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.drafts.send(input: object): Promise"; + readonly summary: "Sends the specified, existing draft to the recipients in the `To`, `Cc`, and `Bcc` headers. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.drafts.send"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.drafts.update"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.drafts.update(input: object): Promise"; + readonly summary: "Replaces a draft's content. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.drafts.update"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.getProfile"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.getProfile(input: object): Promise"; + readonly summary: "Gets the current user's Gmail profile."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.getProfile"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "historyTypes", "labelId", "maxResults", "pageToken", "prettyPrint", "quotaUser", "startHistoryId", "userId"]; + readonly path: "gmail.users.history.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.history.list(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/sync)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.history.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.labels.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.labels.create(input: object): Promise"; + readonly summary: "Creates a label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.labels.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.labels.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.labels.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.labels.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.labels.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.labels.get(input: object): Promise"; + readonly summary: "Gets the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.labels.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.labels.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.labels.list(input: object): Promise"; + readonly summary: "Lists all labels in the user's mailbox. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.labels.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.labels.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.labels.patch(input: object): Promise"; + readonly summary: "Patch the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.labels.patch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.labels.update"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.labels.update(input: object): Promise"; + readonly summary: "Updates the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.labels.update"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "messageId", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.messages.attachments.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.attachments.get(input: object): Promise"; + readonly summary: "Gets the specified message attachment."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.attachments.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.messages.batchDelete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.batchDelete(input: object): Promise"; + readonly summary: "Deletes many messages by message ID. Provides no guarantees that messages were not already deleted or even existed at all."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.batchDelete"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.messages.batchModify"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.batchModify(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) to impersonate users with the `https://www.googleapis.com/auth/gmail.modify.restricted` scope."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.batchModify"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.messages.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.delete(input: object): Promise"; + readonly summary: "Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer `messages.trash` instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "format", "id", "metadataHeaders", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.messages.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.get(input: object): Promise"; + readonly summary: "Gets the specified message."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "deleted", "fields", "internalDateSource", "neverMarkSpam", "prettyPrint", "processForCalendar", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.messages.import"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.import(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.import"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "deleted", "fields", "internalDateSource", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.messages.insert"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.insert(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/sending)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.insert"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "includeSpamTrash", "labelIds", "maxResults", "pageToken", "prettyPrint", "q", "quotaUser", "userId"]; + readonly path: "gmail.users.messages.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.list(input: object): Promise"; + readonly summary: "Lists the messages in the user's mailbox. For more information, see [List Gmail messages](https://developers.google.com/workspace/gmail/api/guides/list-messages)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.messages.modify"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.modify(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) to impersonate users with the `https://www.googleapis.com/auth/gmail.modify.restricted` scope."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.modify"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.messages.send"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.send(input: object): Promise"; + readonly summary: "Sends the specified message to the recipients in the `To`, `Cc`, and `Bcc` headers. For more information, see [Create and send email messages](https://developers.google.com/workspace/gmail/api/guides/sending)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.send"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.messages.trash"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.trash(input: object): Promise"; + readonly summary: "Moves the specified message to the trash."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.trash"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.messages.untrash"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.untrash(input: object): Promise"; + readonly summary: "Removes the specified message from the trash."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.untrash"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.cse.identities.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.create(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "cseEmailAddress", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.cse.identities.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "cseEmailAddress", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.cse.identities.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.get(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.cse.identities.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.list(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "emailAddress", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.cse.identities.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.patch(input: object): Promise"; + readonly summary: "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](https://support.google.com/a/answer/7300887). For administrators managing identities and keypairs for users in their organization, requests require authorization with a [service account](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.patch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "chainValidation", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.cse.keypairs.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.create(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "keyPairId", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.cse.keypairs.disable"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.disable(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.disable"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "keyPairId", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.cse.keypairs.enable"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.enable(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.enable"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "keyPairId", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.cse.keypairs.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.get(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.cse.keypairs.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.list(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "keyPairId", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.cse.keypairs.obliterate"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.obliterate(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.obliterate"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.delegates.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.create(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "delegateEmail", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.delegates.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "delegateEmail", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.delegates.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.get(input: object): Promise"; + readonly summary: "Gets the specified delegate. For more information, see [Manage delegates](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.delegates.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.list(input: object): Promise"; + readonly summary: "Lists the delegates for the specified account. For more information, see [Manage delegates](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.filters.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.create(input: object): Promise"; + readonly summary: "Creates a filter. Note: you can only create a maximum of 1,000 filters. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.filters.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.delete(input: object): Promise"; + readonly summary: "Immediately and permanently deletes the specified filter. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.filters.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.get(input: object): Promise"; + readonly summary: "Gets a filter. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.filters.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.list(input: object): Promise"; + readonly summary: "Lists the message filters of a Gmail user. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.forwardingAddresses.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.create(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "forwardingEmail", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.forwardingAddresses.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.delete(input: object): Promise"; + readonly summary: "Deletes the specified forwarding address and revokes any verification that may have been required. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "forwardingEmail", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.forwardingAddresses.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.get(input: object): Promise"; + readonly summary: "Gets the specified forwarding address. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.forwardingAddresses.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.list(input: object): Promise"; + readonly summary: "Lists the forwarding addresses for the specified account. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.list"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.getAutoForwarding"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.getAutoForwarding(input: object): Promise"; + readonly summary: "Gets the auto-forwarding setting for the specified account. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.getAutoForwarding"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.getImap"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.getImap(input: object): Promise"; + readonly summary: "Gets IMAP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.getImap"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.getLanguage"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.getLanguage(input: object): Promise"; + readonly summary: "Gets language settings. For more information, see [Manage language settings](https://developers.google.com/workspace/gmail/api/guides/language-settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.getLanguage"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.getPop"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.getPop(input: object): Promise"; + readonly summary: "Gets POP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.getPop"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.getVacation"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.getVacation(input: object): Promise"; + readonly summary: "Gets vacation responder settings. For more information, see [Manage vacation settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/vacation_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.getVacation"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.sendAs.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.create(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.get(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.sendAs.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.list(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId", "requestBody"]; + readonly path: "gmail.users.settings.sendAs.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.patch(input: object): Promise"; + readonly summary: "Patch the specified send-as alias. For more information, see [Manage aliases and signatures with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.patch"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.smimeInfo.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.delete(input: object): Promise"; + readonly summary: "Deletes the specified S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.smimeInfo.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.get(input: object): Promise"; + readonly summary: "Gets the specified S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId", "requestBody"]; + readonly path: "gmail.users.settings.sendAs.smimeInfo.insert"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.insert(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/smime_certs)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.insert"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.smimeInfo.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.list(input: object): Promise"; + readonly summary: "Lists S/MIME configs for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.smimeInfo.setDefault"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.setDefault(input: object): Promise"; + readonly summary: "Sets the default S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.setDefault"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId", "requestBody"]; + readonly path: "gmail.users.settings.sendAs.update"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.update(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). Addresses other than the primary address for the account can only be updated by service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.verify"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.verify(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.verify"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.updateAutoForwarding"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateAutoForwarding(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateAutoForwarding"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.updateImap"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateImap(input: object): Promise"; + readonly summary: "Updates IMAP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateImap"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.updateLanguage"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateLanguage(input: object): Promise"; + readonly summary: "Updates language settings. For more information, see [Manage language settings](https://developers.google.com/workspace/gmail/api/guides/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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateLanguage"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.updatePop"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.updatePop(input: object): Promise"; + readonly summary: "Updates POP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.updatePop"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.updateVacation"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateVacation(input: object): Promise"; + readonly summary: "Updates vacation responder settings. For more information, see [Manage vacation settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/vacation_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateVacation"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.stop"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.stop(input: object): Promise"; + readonly summary: "Turn off push notification delivery for the given user mailbox. For more information, see [Configure push notifications in Gmail API](https://developers.google.com/workspace/gmail/api/guides/push)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.stop"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.threads.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.threads.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/threads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.threads.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "format", "id", "metadataHeaders", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.threads.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.threads.get(input: object): Promise"; + readonly summary: "Gets the specified thread. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.threads.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "includeSpamTrash", "labelIds", "maxResults", "pageToken", "prettyPrint", "q", "quotaUser", "userId"]; + readonly path: "gmail.users.threads.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.threads.list(input: object): Promise"; + readonly summary: "Lists the threads in the user's mailbox. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.threads.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.threads.modify"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.threads.modify(input: object): Promise"; + readonly summary: "Modifies the labels applied to the thread. This applies to all messages in the thread. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.threads.modify"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.threads.trash"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.threads.trash(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/threads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.threads.trash"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.threads.untrash"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.threads.untrash(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/threads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.threads.untrash"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.watch(input: object): Promise"; + readonly summary: "Set up or update a push notification watch on the given user mailbox. For more information, see [Configure push notifications in Gmail API](https://developers.google.com/workspace/gmail/api/guides/push)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.watch"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "groupFields", "maxMembers", "prettyPrint", "quotaUser", "resourceNames"]; + readonly path: "people.contactGroups.batchGet"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.batchGet(input?: object): Promise"; + readonly summary: "Get a list of contact groups owned by the authenticated user by specifying a list of contact group resource names."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.batchGet"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "people.contactGroups.create"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.create(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.create"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "deleteContacts", "fields", "prettyPrint", "quotaUser", "resourceName"]; + readonly path: "people.contactGroups.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.delete(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.delete"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "groupFields", "maxMembers", "prettyPrint", "quotaUser", "resourceName"]; + readonly path: "people.contactGroups.get"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.get(input: object): Promise"; + readonly summary: "Get a specific contact group owned by the authenticated user by specifying a contact group resource name."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "groupFields", "pageSize", "pageToken", "prettyPrint", "quotaUser", "syncToken"]; + readonly path: "people.contactGroups.list"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.list(input?: object): Promise"; + readonly summary: "List all contact groups owned by the authenticated user. Members of the contact groups are not populated."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "resourceName", "requestBody"]; + readonly path: "people.contactGroups.members.modify"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.members.modify(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.members.modify"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "resourceName", "requestBody"]; + readonly path: "people.contactGroups.update"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.update(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "resourceName", "requestBody"]; + readonly path: "people.otherContacts.copyOtherContactToMyContactsGroup"; + readonly signature: "ctx.applications[\"google-workspace\"].people().otherContacts.copyOtherContactToMyContactsGroup(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().otherContacts.copyOtherContactToMyContactsGroup"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "prettyPrint", "quotaUser", "readMask", "requestSyncToken", "sources", "syncToken"]; + readonly path: "people.otherContacts.list"; + readonly signature: "ctx.applications[\"google-workspace\"].people().otherContacts.list(input?: object): Promise"; + readonly summary: "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](https://cloud.google.com/apis/design/errors#error_info) 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](/people/v1/other-contacts#list_the_users_other_contacts_that_have_changed)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().otherContacts.list"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "prettyPrint", "query", "quotaUser", "readMask"]; + readonly path: "people.otherContacts.search"; + readonly signature: "ctx.applications[\"google-workspace\"].people().otherContacts.search(input?: object): Promise"; + readonly summary: "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"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().otherContacts.search"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "people.people.batchCreateContacts"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.batchCreateContacts(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.batchCreateContacts"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "people.people.batchDeleteContacts"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.batchDeleteContacts(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.batchDeleteContacts"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "people.people.batchUpdateContacts"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.batchUpdateContacts(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.batchUpdateContacts"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "personFields", "prettyPrint", "quotaUser", "requestMask.includeField", "requestSyncToken", "resourceName", "sortOrder", "sources", "syncToken"]; + readonly path: "people.people.connections.list"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.connections.list(input: object): Promise"; + readonly summary: "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](https://cloud.google.com/apis/design/errors#error_info) 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](/people/v1/contacts#list_the_users_contacts_that_have_changed)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.connections.list"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "personFields", "prettyPrint", "quotaUser", "sources", "requestBody"]; + readonly path: "people.people.createContact"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.createContact(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.createContact"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "resourceName"]; + readonly path: "people.people.deleteContact"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.deleteContact(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.deleteContact"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "personFields", "prettyPrint", "quotaUser", "resourceName", "sources"]; + readonly path: "people.people.deleteContactPhoto"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.deleteContactPhoto(input: object): Promise"; + readonly summary: "Delete a contact's photo. Mutate requests for the same user should be done sequentially to avoid // lock contention."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.deleteContactPhoto"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "personFields", "prettyPrint", "quotaUser", "requestMask.includeField", "resourceName", "sources"]; + readonly path: "people.people.get"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.get(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "personFields", "prettyPrint", "quotaUser", "requestMask.includeField", "resourceNames", "sources"]; + readonly path: "people.people.getBatchGet"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.getBatchGet(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.getBatchGet"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "mergeSources", "pageSize", "pageToken", "prettyPrint", "quotaUser", "readMask", "requestSyncToken", "sources", "syncToken"]; + readonly path: "people.people.listDirectoryPeople"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.listDirectoryPeople(input?: object): Promise"; + readonly summary: "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](/people/v1/directory#list_the_directory_people_that_have_changed)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.listDirectoryPeople"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "prettyPrint", "query", "quotaUser", "readMask", "sources"]; + readonly path: "people.people.searchContacts"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.searchContacts(input?: object): Promise"; + readonly summary: "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"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.searchContacts"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "mergeSources", "pageSize", "pageToken", "prettyPrint", "query", "quotaUser", "readMask", "sources"]; + readonly path: "people.people.searchDirectoryPeople"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.searchDirectoryPeople(input?: object): Promise"; + readonly summary: "Provides a list of domain profiles and domain contacts in the authenticated user's domain directory that match the search query."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.searchDirectoryPeople"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "personFields", "prettyPrint", "quotaUser", "resourceName", "sources", "updatePersonFields", "requestBody"]; + readonly path: "people.people.updateContact"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.updateContact(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.updateContact"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "resourceName", "requestBody"]; + readonly path: "people.people.updateContactPhoto"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.updateContactPhoto(input: object): Promise"; + readonly summary: "Update a contact's photo. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.updateContactPhoto"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.batchUpdate"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.batchUpdate(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.batchUpdate"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "sheets.spreadsheets.create"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.create(input?: object): Promise"; + readonly summary: "Creates a spreadsheet, returning the newly created spreadsheet."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.create"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "metadataId", "prettyPrint", "quotaUser", "spreadsheetId"]; + readonly path: "sheets.spreadsheets.developerMetadata.get"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.get(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/sheets/api/guides/metadata)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.developerMetadata.search"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.search(input: object): Promise"; + readonly summary: "Returns all developer metadata matching the specified DataFilter. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.search"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "excludeTablesInBandedRanges", "fields", "includeGridData", "prettyPrint", "quotaUser", "ranges", "spreadsheetId"]; + readonly path: "sheets.spreadsheets.get"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.get(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/sheets/api/guides/field-masks) 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](https://developers.google.com/workspace/sheets/api/guides/concepts#cell). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.getByDataFilter"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.getByDataFilter(input: object): Promise"; + readonly summary: "Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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](https://developers.google.com/workspace/sheets/api/guides/field-masks) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.getByDataFilter"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sheetId", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.sheets.copyTo"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.sheets.copyTo(input: object): Promise"; + readonly summary: "Copies a single sheet from a spreadsheet to another spreadsheet. Returns the properties of the newly created sheet."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.sheets.copyTo"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "includeValuesInResponse", "insertDataOption", "prettyPrint", "quotaUser", "range", "responseDateTimeRenderOption", "responseValueRenderOption", "spreadsheetId", "valueInputOption", "requestBody"]; + readonly path: "sheets.spreadsheets.values.append"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.append(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/sheets/api/guides/values#appending_values) and [sample code](https://developers.google.com/workspace/sheets/api/samples/writing#append_values) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.append"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.values.batchClear"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClear(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClear"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.values.batchClearByDataFilter"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClearByDataFilter(input: object): Promise"; + readonly summary: "Clears one or more ranges of values from a spreadsheet. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClearByDataFilter"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "dateTimeRenderOption", "fields", "majorDimension", "prettyPrint", "quotaUser", "ranges", "spreadsheetId", "valueRenderOption"]; + readonly path: "sheets.spreadsheets.values.batchGet"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGet(input: object): Promise"; + readonly summary: "Returns one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGet"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.values.batchGetByDataFilter"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGetByDataFilter(input: object): Promise"; + readonly summary: "Returns one or more ranges of values that match the specified data filters. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGetByDataFilter"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.values.batchUpdate"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdate(input: object): Promise"; + readonly summary: "Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more ValueRanges."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdate"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.values.batchUpdateByDataFilter"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdateByDataFilter(input: object): Promise"; + readonly summary: "Sets values in one or more ranges of a spreadsheet. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata). The caller must specify the spreadsheet ID, a valueInputOption, and one or more DataFilterValueRanges."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdateByDataFilter"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "range", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.values.clear"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.clear(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.clear"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "dateTimeRenderOption", "fields", "majorDimension", "prettyPrint", "quotaUser", "range", "spreadsheetId", "valueRenderOption"]; + readonly path: "sheets.spreadsheets.values.get"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.get(input: object): Promise"; + readonly summary: "Returns a range of values from a spreadsheet. The caller must specify the spreadsheet ID and a range."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.get"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "includeValuesInResponse", "prettyPrint", "quotaUser", "range", "responseDateTimeRenderOption", "responseValueRenderOption", "spreadsheetId", "valueInputOption", "requestBody"]; + readonly path: "sheets.spreadsheets.values.update"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.update(input: object): Promise"; + readonly summary: "Sets values in a range of a spreadsheet. The caller must specify the spreadsheet ID, range, and a valueInputOption."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.update"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "presentationId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "slides.presentations.batchUpdate"; + readonly signature: "ctx.applications[\"google-workspace\"].slides().presentations.batchUpdate(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].slides().presentations.batchUpdate"; + readonly output: "unknown"; +}, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "slides.presentations.create"; + readonly signature: "ctx.applications[\"google-workspace\"].slides().presentations.create(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].slides().presentations.create"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "presentationId", "prettyPrint", "quotaUser"]; + readonly path: "slides.presentations.get"; + readonly signature: "ctx.applications[\"google-workspace\"].slides().presentations.get(input: object): Promise"; + readonly summary: "Gets the latest version of the specified presentation."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].slides().presentations.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageObjectId", "presentationId", "prettyPrint", "quotaUser"]; + readonly path: "slides.presentations.pages.get"; + readonly signature: "ctx.applications[\"google-workspace\"].slides().presentations.pages.get(input: object): Promise"; + readonly summary: "Gets the latest version of the specified page in the presentation."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].slides().presentations.pages.get"; + readonly output: "unknown"; +}, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageObjectId", "presentationId", "prettyPrint", "quotaUser", "thumbnailProperties.mimeType", "thumbnailProperties.thumbnailSize"]; + readonly path: "slides.presentations.pages.getThumbnail"; + readonly signature: "ctx.applications[\"google-workspace\"].slides().presentations.pages.getThumbnail(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/slides/limits) for quota purposes."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].slides().presentations.pages.getThumbnail"; + readonly output: "unknown"; +}]; +//#endregion +//#region src/google-workspace.requests.generated.d.ts +declare const GOOGLE_WORKSPACE_REQUESTS: { + readonly drive: { + readonly baseUrl: "https://www.googleapis.com/drive/v3/"; + readonly resources: { + readonly methods: {}; + readonly resources: { + readonly about: { + readonly methods: { + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "about"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + readonly accessproposals: { + readonly methods: { + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly proposalId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/accessproposals/{proposalId}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/accessproposals"; + readonly request: false; + }; + readonly resolve: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly proposalId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/accessproposals/{proposalId}:resolve"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly approvals: { + readonly methods: { + readonly approve: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly approvalId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/approvals/{approvalId}:approve"; + readonly request: true; + }; + readonly cancel: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly approvalId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/approvals/{approvalId}:cancel"; + readonly request: true; + }; + readonly comment: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly approvalId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/approvals/{approvalId}:comment"; + readonly request: true; + }; + readonly decline: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly approvalId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/approvals/{approvalId}:decline"; + readonly request: true; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly approvalId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/approvals/{approvalId}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/approvals"; + readonly request: false; + }; + readonly reassign: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly approvalId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/approvals/{approvalId}:reassign"; + readonly request: true; + }; + readonly start: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/approvals:start"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly apps: { + readonly methods: { + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly appId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "apps/{appId}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly appFilterExtensions: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly appFilterMimeTypes: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly languageCode: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "apps"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + readonly changes: { + readonly methods: { + readonly getStartPageToken: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly driveId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly teamDriveId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "changes/startPageToken"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly driveId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeCorpusRemovals: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeItemsFromAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeLabels: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includePermissionsForView: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeRemoved: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeTeamDriveItems: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly restrictToMyDrive: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spaces: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly teamDriveId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "changes"; + readonly request: false; + }; + readonly watch: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly driveId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeCorpusRemovals: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeItemsFromAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeLabels: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includePermissionsForView: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeRemoved: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeTeamDriveItems: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly restrictToMyDrive: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spaces: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly teamDriveId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "changes/watch"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly channels: { + readonly methods: { + readonly stop: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "channels/stop"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly comments: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/comments"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly commentId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/comments/{commentId}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly commentId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly includeDeleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/comments/{commentId}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly includeDeleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly startModifiedTime: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/comments"; + readonly request: false; + }; + readonly update: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly commentId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/comments/{commentId}"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly drives: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly requestId: { + readonly location: "query"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "drives"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly allowItemDeletion: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly driveId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useDomainAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "drives/{driveId}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly driveId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useDomainAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "drives/{driveId}"; + readonly request: false; + }; + readonly hide: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly driveId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "drives/{driveId}/hide"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly q: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useDomainAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "drives"; + readonly request: false; + }; + readonly unhide: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly driveId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "drives/{driveId}/unhide"; + readonly request: false; + }; + readonly update: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly driveId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useDomainAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "drives/{driveId}"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly files: { + readonly methods: { + readonly copy: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly enforceSingleParent: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly ignoreDefaultVisibility: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeLabels: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includePermissionsForView: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly keepRevisionForever: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly ocrLanguage: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/copy"; + readonly request: true; + }; + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly enforceSingleParent: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly ignoreDefaultVisibility: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeLabels: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includePermissionsForView: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly keepRevisionForever: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly ocrLanguage: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useContentAsIndexableText: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files"; + readonly request: true; + readonly uploadPath: "/upload/drive/v3/files"; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly enforceSingleParent: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}"; + readonly request: false; + }; + readonly download: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly mimeType: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly revisionId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/download"; + readonly request: false; + }; + readonly emptyTrash: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly driveId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly enforceSingleParent: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/trash"; + readonly request: false; + }; + readonly export: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly mimeType: { + readonly location: "query"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/export"; + readonly request: false; + }; + readonly generateCseToken: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly parent: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/generateCseToken"; + readonly request: false; + }; + readonly generateIds: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly count: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly space: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly type: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/generateIds"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly acknowledgeAbuse: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly includeLabels: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includePermissionsForView: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly corpora: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly corpus: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly driveId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeItemsFromAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeLabels: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includePermissionsForView: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeTeamDriveItems: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly orderBy: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly q: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spaces: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly teamDriveId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files"; + readonly request: false; + }; + readonly listLabels: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/listLabels"; + readonly request: false; + }; + readonly modifyLabels: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/modifyLabels"; + readonly request: true; + }; + readonly update: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly addParents: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly enforceSingleParent: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly includeLabels: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includePermissionsForView: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly keepRevisionForever: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly ocrLanguage: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly removeParents: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useContentAsIndexableText: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}"; + readonly request: true; + readonly uploadPath: "/upload/drive/v3/files/{fileId}"; + }; + readonly watch: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly acknowledgeAbuse: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly includeLabels: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includePermissionsForView: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/watch"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly operations: { + readonly methods: { + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "operations/{name}"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + readonly permissions: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly emailMessage: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly enforceExpansiveAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly enforceSingleParent: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly moveToNewOwnersRoot: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendNotificationEmail: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly transferOwnership: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useDomainAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/permissions"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly enforceExpansiveAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly permissionId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useDomainAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/permissions/{permissionId}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly permissionId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useDomainAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/permissions/{permissionId}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly includePermissionsForView: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useDomainAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/permissions"; + readonly request: false; + }; + readonly update: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly enforceExpansiveAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly permissionId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly removeExpiration: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAllDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsTeamDrives: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly transferOwnership: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useDomainAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/permissions/{permissionId}"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly replies: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly commentId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/comments/{commentId}/replies"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly commentId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly replyId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "files/{fileId}/comments/{commentId}/replies/{replyId}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly commentId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly includeDeleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly replyId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "files/{fileId}/comments/{commentId}/replies/{replyId}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly commentId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly includeDeleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/comments/{commentId}/replies"; + readonly request: false; + }; + readonly update: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly commentId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly replyId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "files/{fileId}/comments/{commentId}/replies/{replyId}"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly revisions: { + readonly methods: { + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly revisionId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "files/{fileId}/revisions/{revisionId}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly acknowledgeAbuse: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly revisionId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "files/{fileId}/revisions/{revisionId}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "files/{fileId}/revisions"; + readonly request: false; + }; + readonly update: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fileId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly revisionId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "files/{fileId}/revisions/{revisionId}"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly teamdrives: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly requestId: { + readonly location: "query"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "teamdrives"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly teamDriveId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "teamdrives/{teamDriveId}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly teamDriveId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly useDomainAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "teamdrives/{teamDriveId}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly q: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useDomainAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "teamdrives"; + readonly request: false; + }; + readonly update: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly teamDriveId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly useDomainAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "teamdrives/{teamDriveId}"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + }; + }; + }; + readonly gmail: { + readonly baseUrl: "https://gmail.googleapis.com/"; + readonly resources: { + readonly methods: {}; + readonly resources: { + readonly users: { + readonly methods: { + readonly getProfile: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/profile"; + readonly request: false; + }; + readonly stop: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/stop"; + readonly request: false; + }; + readonly watch: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/watch"; + readonly request: true; + }; + }; + readonly resources: { + readonly drafts: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/drafts"; + readonly request: true; + readonly uploadPath: "/upload/gmail/v1/users/{userId}/drafts"; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/drafts/{id}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly format: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/drafts/{id}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeSpamTrash: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly q: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/drafts"; + readonly request: false; + }; + readonly send: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/drafts/send"; + readonly request: true; + readonly uploadPath: "/upload/gmail/v1/users/{userId}/drafts/send"; + }; + readonly update: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/drafts/{id}"; + readonly request: true; + readonly uploadPath: "/upload/gmail/v1/users/{userId}/drafts/{id}"; + }; + }; + readonly resources: {}; + }; + readonly history: { + readonly methods: { + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly historyTypes: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly labelId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly startHistoryId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/history"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + readonly labels: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/labels"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/labels/{id}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/labels/{id}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/labels"; + readonly request: false; + }; + readonly patch: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/labels/{id}"; + readonly request: true; + }; + readonly update: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/labels/{id}"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly messages: { + readonly methods: { + readonly batchDelete: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/messages/batchDelete"; + readonly request: true; + }; + readonly batchModify: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/messages/batchModify"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/messages/{id}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly format: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly metadataHeaders: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/messages/{id}"; + readonly request: false; + }; + readonly import: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly deleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly internalDateSource: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly neverMarkSpam: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly processForCalendar: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/messages/import"; + readonly request: true; + readonly uploadPath: "/upload/gmail/v1/users/{userId}/messages/import"; + }; + readonly insert: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly deleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly internalDateSource: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/messages"; + readonly request: true; + readonly uploadPath: "/upload/gmail/v1/users/{userId}/messages"; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeSpamTrash: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly labelIds: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly q: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/messages"; + readonly request: false; + }; + readonly modify: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/messages/{id}/modify"; + readonly request: true; + }; + readonly send: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/messages/send"; + readonly request: true; + readonly uploadPath: "/upload/gmail/v1/users/{userId}/messages/send"; + }; + readonly trash: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/messages/{id}/trash"; + readonly request: false; + }; + readonly untrash: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/messages/{id}/untrash"; + readonly request: false; + }; + }; + readonly resources: { + readonly attachments: { + readonly methods: { + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly messageId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/messages/{messageId}/attachments/{id}"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + }; + }; + readonly settings: { + readonly methods: { + readonly getAutoForwarding: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/autoForwarding"; + readonly request: false; + }; + readonly getImap: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/imap"; + readonly request: false; + }; + readonly getLanguage: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/language"; + readonly request: false; + }; + readonly getPop: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/pop"; + readonly request: false; + }; + readonly getVacation: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/vacation"; + readonly request: false; + }; + readonly updateAutoForwarding: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/autoForwarding"; + readonly request: true; + }; + readonly updateImap: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/imap"; + readonly request: true; + }; + readonly updateLanguage: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/language"; + readonly request: true; + }; + readonly updatePop: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/pop"; + readonly request: true; + }; + readonly updateVacation: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/vacation"; + readonly request: true; + }; + }; + readonly resources: { + readonly cse: { + readonly methods: {}; + readonly resources: { + readonly identities: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/cse/identities"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly cseEmailAddress: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/cse/identities/{cseEmailAddress}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly cseEmailAddress: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/cse/identities/{cseEmailAddress}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/cse/identities"; + readonly request: false; + }; + readonly patch: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly emailAddress: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/cse/identities/{emailAddress}"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly keypairs: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly chainValidation: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/cse/keypairs"; + readonly request: true; + }; + readonly disable: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly keyPairId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:disable"; + readonly request: true; + }; + readonly enable: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly keyPairId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:enable"; + readonly request: true; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly keyPairId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/cse/keypairs"; + readonly request: false; + }; + readonly obliterate: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly keyPairId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:obliterate"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + }; + }; + readonly delegates: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/delegates"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly delegateEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/delegates/{delegateEmail}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly delegateEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/delegates/{delegateEmail}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/delegates"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + readonly filters: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/filters"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/filters/{id}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/filters/{id}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/filters"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + readonly forwardingAddresses: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/forwardingAddresses"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly forwardingEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly forwardingEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/forwardingAddresses"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + readonly sendAs: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/sendAs"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendAsEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendAsEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/sendAs"; + readonly request: false; + }; + readonly patch: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendAsEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}"; + readonly request: true; + }; + readonly update: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendAsEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}"; + readonly request: true; + }; + readonly verify: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendAsEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/verify"; + readonly request: false; + }; + }; + readonly resources: { + readonly smimeInfo: { + readonly methods: { + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendAsEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendAsEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}"; + readonly request: false; + }; + readonly insert: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendAsEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo"; + readonly request: true; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendAsEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo"; + readonly request: false; + }; + readonly setDefault: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendAsEmail: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + }; + }; + }; + }; + readonly threads: { + readonly methods: { + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/threads/{id}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly format: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly metadataHeaders: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/threads/{id}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeSpamTrash: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly labelIds: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly q: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/threads"; + readonly request: false; + }; + readonly modify: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/threads/{id}/modify"; + readonly request: true; + }; + readonly trash: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/threads/{id}/trash"; + readonly request: false; + }; + readonly untrash: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly id: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "gmail/v1/users/{userId}/threads/{id}/untrash"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + }; + }; + }; + }; + }; + readonly calendar: { + readonly baseUrl: "https://www.googleapis.com/calendar/v3/"; + readonly resources: { + readonly methods: {}; + readonly resources: { + readonly acl: { + readonly methods: { + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly ruleId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/acl/{ruleId}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly ruleId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/acl/{ruleId}"; + readonly request: false; + }; + readonly insert: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendNotifications: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/acl"; + readonly request: true; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showDeleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly syncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/acl"; + readonly request: false; + }; + readonly patch: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly ruleId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly sendNotifications: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/acl/{ruleId}"; + readonly request: true; + }; + readonly update: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly ruleId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly sendNotifications: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/acl/{ruleId}"; + readonly request: true; + }; + readonly watch: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showDeleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly syncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/acl/watch"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly calendarList: { + readonly methods: { + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "users/me/calendarList/{calendarId}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "users/me/calendarList/{calendarId}"; + readonly request: false; + }; + readonly insert: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly colorRgbFormat: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "users/me/calendarList"; + readonly request: true; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly minAccessRole: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showDeleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showHidden: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showOwnOrganizationOnly: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly syncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "users/me/calendarList"; + readonly request: false; + }; + readonly patch: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly colorRgbFormat: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "users/me/calendarList/{calendarId}"; + readonly request: true; + }; + readonly update: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly colorRgbFormat: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "users/me/calendarList/{calendarId}"; + readonly request: true; + }; + readonly watch: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly minAccessRole: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showDeleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showHidden: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showOwnOrganizationOnly: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly syncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "users/me/calendarList/watch"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly calendars: { + readonly methods: { + readonly clear: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/clear"; + readonly request: false; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}"; + readonly request: false; + }; + readonly insert: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars"; + readonly request: true; + }; + readonly patch: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}"; + readonly request: true; + }; + readonly transferOwnership: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly newDataOwner: { + readonly location: "query"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: true; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/transferOwnership"; + readonly request: false; + }; + readonly update: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly channels: { + readonly methods: { + readonly stop: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "channels/stop"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly colors: { + readonly methods: { + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "colors"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + readonly events: { + readonly methods: { + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly eventId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendNotifications: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendUpdates: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/events/{eventId}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alwaysIncludeEmail: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly eventId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxAttendees: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly timeZone: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/events/{eventId}"; + readonly request: false; + }; + readonly import: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly conferenceDataVersion: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly eventLabelVersion: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAttachments: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/events/import"; + readonly request: true; + }; + readonly insert: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly conferenceDataVersion: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly eventLabelVersion: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxAttendees: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendNotifications: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendUpdates: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAttachments: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/events"; + readonly request: true; + }; + readonly instances: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alwaysIncludeEmail: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly eventId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxAttendees: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly originalStart: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showDeleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly timeMax: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly timeMin: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly timeZone: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/events/{eventId}/instances"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alwaysIncludeEmail: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly eventTypes: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly iCalUID: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxAttendees: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly orderBy: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly privateExtendedProperty: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly q: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sharedExtendedProperty: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly showDeleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showHiddenInvitations: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly singleEvents: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly syncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly timeMax: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly timeMin: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly timeZone: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly updatedMin: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/events"; + readonly request: false; + }; + readonly move: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly destination: { + readonly location: "query"; + readonly repeated: false; + readonly required: true; + }; + readonly eventId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendNotifications: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendUpdates: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/events/{eventId}/move"; + readonly request: false; + }; + readonly patch: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alwaysIncludeEmail: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly conferenceDataVersion: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly eventId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly eventLabelVersion: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxAttendees: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendNotifications: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendUpdates: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAttachments: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/events/{eventId}"; + readonly request: true; + }; + readonly quickAdd: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendNotifications: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendUpdates: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly text: { + readonly location: "query"; + readonly repeated: false; + readonly required: true; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/events/quickAdd"; + readonly request: false; + }; + readonly update: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alwaysIncludeEmail: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly conferenceDataVersion: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly eventId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly eventLabelVersion: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxAttendees: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendNotifications: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sendUpdates: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly supportsAttachments: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/events/{eventId}"; + readonly request: true; + }; + readonly watch: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alwaysIncludeEmail: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly calendarId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly eventTypes: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly iCalUID: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxAttendees: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly orderBy: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly privateExtendedProperty: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly q: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sharedExtendedProperty: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly showDeleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showHiddenInvitations: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly singleEvents: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly syncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly timeMax: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly timeMin: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly timeZone: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly updatedMin: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "calendars/{calendarId}/events/watch"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly freebusy: { + readonly methods: { + readonly query: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "freeBusy"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly settings: { + readonly methods: { + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly setting: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "users/me/settings/{setting}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly syncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "users/me/settings"; + readonly request: false; + }; + readonly watch: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxResults: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly syncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly userIp: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "users/me/settings/watch"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + }; + }; + }; + readonly docs: { + readonly baseUrl: "https://docs.googleapis.com/"; + readonly resources: { + readonly methods: {}; + readonly resources: { + readonly documents: { + readonly methods: { + readonly batchUpdate: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly documentId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/documents/{documentId}:batchUpdate"; + readonly request: true; + }; + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/documents"; + readonly request: true; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly documentId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeTabsContent: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly suggestionsViewMode: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/documents/{documentId}"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + }; + }; + }; + readonly sheets: { + readonly baseUrl: "https://sheets.googleapis.com/"; + readonly resources: { + readonly methods: {}; + readonly resources: { + readonly spreadsheets: { + readonly methods: { + readonly batchUpdate: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}:batchUpdate"; + readonly request: true; + }; + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v4/spreadsheets"; + readonly request: true; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly excludeTablesInBandedRanges: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeGridData: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly ranges: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}"; + readonly request: false; + }; + readonly getByDataFilter: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}:getByDataFilter"; + readonly request: true; + }; + }; + readonly resources: { + readonly developerMetadata: { + readonly methods: { + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly metadataId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}"; + readonly request: false; + }; + readonly search: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}/developerMetadata:search"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly sheets: { + readonly methods: { + readonly copyTo: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly values: { + readonly methods: { + readonly append: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeValuesInResponse: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly insertDataOption: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly range: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly responseDateTimeRenderOption: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly responseValueRenderOption: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly valueInputOption: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}/values/{range}:append"; + readonly request: true; + }; + readonly batchClear: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}/values:batchClear"; + readonly request: true; + }; + readonly batchClearByDataFilter: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter"; + readonly request: true; + }; + readonly batchGet: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly dateTimeRenderOption: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly majorDimension: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly ranges: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly valueRenderOption: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}/values:batchGet"; + readonly request: false; + }; + readonly batchGetByDataFilter: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter"; + readonly request: true; + }; + readonly batchUpdate: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}/values:batchUpdate"; + readonly request: true; + }; + readonly batchUpdateByDataFilter: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter"; + readonly request: true; + }; + readonly clear: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly range: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}/values/{range}:clear"; + readonly request: true; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly dateTimeRenderOption: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly majorDimension: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly range: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly valueRenderOption: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}/values/{range}"; + readonly request: false; + }; + readonly update: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly includeValuesInResponse: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly range: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly responseDateTimeRenderOption: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly responseValueRenderOption: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spreadsheetId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly valueInputOption: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v4/spreadsheets/{spreadsheetId}/values/{range}"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + }; + }; + }; + }; + }; + readonly slides: { + readonly baseUrl: "https://slides.googleapis.com/"; + readonly resources: { + readonly methods: {}; + readonly resources: { + readonly presentations: { + readonly methods: { + readonly batchUpdate: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly presentationId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/presentations/{presentationId}:batchUpdate"; + readonly request: true; + }; + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/presentations"; + readonly request: true; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly presentationId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/presentations/{+presentationId}"; + readonly request: false; + }; + }; + readonly resources: { + readonly pages: { + readonly methods: { + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageObjectId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly presentationId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/presentations/{presentationId}/pages/{pageObjectId}"; + readonly request: false; + }; + readonly getThumbnail: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageObjectId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly presentationId: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly "thumbnailProperties.mimeType": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly "thumbnailProperties.thumbnailSize": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + }; + }; + }; + }; + }; + readonly chat: { + readonly baseUrl: "https://chat.googleapis.com/"; + readonly resources: { + readonly methods: {}; + readonly resources: { + readonly customEmojis: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/customEmojis"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly filter: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/customEmojis"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + readonly media: { + readonly methods: { + readonly download: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceName: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v1/media/{+resourceName}"; + readonly request: false; + }; + readonly upload: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly parent: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+parent}/attachments:upload"; + readonly request: true; + readonly uploadPath: "/upload/v1/{+parent}/attachments:upload"; + }; + }; + readonly resources: {}; + }; + readonly spaces: { + readonly methods: { + readonly completeImport: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}:completeImport"; + readonly request: true; + }; + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly requestId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/spaces"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly findDirectMessage: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/spaces:findDirectMessage"; + readonly request: false; + }; + readonly findGroupChats: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly spaceView: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly users: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + }; + readonly path: "v1/spaces:findGroupChats"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly filter: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/spaces"; + readonly request: false; + }; + readonly patch: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly updateMask: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: true; + }; + readonly search: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly orderBy: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly query: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/spaces:search"; + readonly request: false; + }; + readonly setup: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/spaces:setup"; + readonly request: true; + }; + }; + readonly resources: { + readonly members: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly parent: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+parent}/members"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly filter: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly parent: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showGroups: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showInvited: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+parent}/members"; + readonly request: false; + }; + readonly patch: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly updateMask: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly useAdminAccess: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly messages: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly "createMessageNotificationOptions.notificationType": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly messageId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly messageReplyOption: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly parent: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly requestId: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly threadKey: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+parent}/messages"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly force: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly markupSyntax: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly filter: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly markupSyntax: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly orderBy: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly parent: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly showDeleted: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+parent}/messages"; + readonly request: false; + }; + readonly patch: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly allowMissing: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly updateMask: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: true; + }; + readonly search: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly parent: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+parent}/messages:search"; + readonly request: true; + }; + readonly update: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly allowMissing: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly updateMask: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: true; + }; + }; + readonly resources: { + readonly attachments: { + readonly methods: { + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + readonly reactions: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly parent: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+parent}/reactions"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly filter: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly parent: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+parent}/reactions"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + }; + }; + readonly spaceEvents: { + readonly methods: { + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly filter: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly parent: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+parent}/spaceEvents"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + }; + }; + readonly users: { + readonly methods: {}; + readonly resources: { + readonly availability: { + readonly methods: { + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly markAsActive: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}:markAsActive"; + readonly request: true; + }; + readonly markAsAway: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}:markAsAway"; + readonly request: true; + }; + readonly markAsDoNotDisturb: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}:markAsDoNotDisturb"; + readonly request: true; + }; + readonly patch: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly updateMask: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly sections: { + readonly methods: { + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly parent: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+parent}/sections"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly parent: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+parent}/sections"; + readonly request: false; + }; + readonly patch: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly updateMask: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: true; + }; + readonly position: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}:position"; + readonly request: true; + }; + }; + readonly resources: { + readonly items: { + readonly methods: { + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly filter: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly parent: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+parent}/items"; + readonly request: false; + }; + readonly move: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}:move"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + }; + }; + readonly spaces: { + readonly methods: { + readonly getSpaceReadState: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly updateSpaceReadState: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly updateMask: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: true; + }; + }; + readonly resources: { + readonly spaceNotificationSetting: { + readonly methods: { + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + readonly patch: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly updateMask: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + readonly threads: { + readonly methods: { + readonly getThreadReadState: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly name: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+name}"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + }; + }; + }; + }; + }; + }; + }; + readonly people: { + readonly baseUrl: "https://people.googleapis.com/"; + readonly resources: { + readonly methods: {}; + readonly resources: { + readonly contactGroups: { + readonly methods: { + readonly batchGet: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly groupFields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxMembers: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceNames: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + }; + readonly path: "v1/contactGroups:batchGet"; + readonly request: false; + }; + readonly create: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/contactGroups"; + readonly request: true; + }; + readonly delete: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly deleteContacts: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceName: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v1/{+resourceName}"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly groupFields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly maxMembers: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceName: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v1/{+resourceName}"; + readonly request: false; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly groupFields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly syncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/contactGroups"; + readonly request: false; + }; + readonly update: { + readonly httpMethod: "PUT"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceName: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v1/{+resourceName}"; + readonly request: true; + }; + }; + readonly resources: { + readonly members: { + readonly methods: { + readonly modify: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceName: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v1/{+resourceName}/members:modify"; + readonly request: true; + }; + }; + readonly resources: {}; + }; + }; + }; + readonly otherContacts: { + readonly methods: { + readonly copyOtherContactToMyContactsGroup: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceName: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v1/{+resourceName}:copyOtherContactToMyContactsGroup"; + readonly request: true; + }; + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly readMask: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly requestSyncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sources: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly syncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/otherContacts"; + readonly request: false; + }; + readonly search: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly query: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly readMask: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/otherContacts:search"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + readonly people: { + readonly methods: { + readonly batchCreateContacts: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/people:batchCreateContacts"; + readonly request: true; + }; + readonly batchDeleteContacts: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/people:batchDeleteContacts"; + readonly request: true; + }; + readonly batchUpdateContacts: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/people:batchUpdateContacts"; + readonly request: true; + }; + readonly createContact: { + readonly httpMethod: "POST"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly personFields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sources: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + }; + readonly path: "v1/people:createContact"; + readonly request: true; + }; + readonly deleteContact: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceName: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v1/{+resourceName}:deleteContact"; + readonly request: false; + }; + readonly deleteContactPhoto: { + readonly httpMethod: "DELETE"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly personFields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceName: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly sources: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + }; + readonly path: "v1/{+resourceName}:deleteContactPhoto"; + readonly request: false; + }; + readonly get: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly personFields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly "requestMask.includeField": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceName: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly sources: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + }; + readonly path: "v1/{+resourceName}"; + readonly request: false; + }; + readonly getBatchGet: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly personFields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly "requestMask.includeField": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceNames: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly sources: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + }; + readonly path: "v1/people:batchGet"; + readonly request: false; + }; + readonly listDirectoryPeople: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly mergeSources: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly readMask: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly requestSyncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sources: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly syncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/people:listDirectoryPeople"; + readonly request: false; + }; + readonly searchContacts: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly query: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly readMask: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sources: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + }; + readonly path: "v1/people:searchContacts"; + readonly request: false; + }; + readonly searchDirectoryPeople: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly mergeSources: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly query: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly readMask: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sources: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + }; + readonly path: "v1/people:searchDirectoryPeople"; + readonly request: false; + }; + readonly updateContact: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly personFields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceName: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly sources: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly updatePersonFields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+resourceName}:updateContact"; + readonly request: true; + }; + readonly updateContactPhoto: { + readonly httpMethod: "PATCH"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceName: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + }; + readonly path: "v1/{+resourceName}:updateContactPhoto"; + readonly request: true; + }; + }; + readonly resources: { + readonly connections: { + readonly methods: { + readonly list: { + readonly httpMethod: "GET"; + readonly parameters: { + readonly "$.xgafv": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly alt: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly fields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageSize: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly pageToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly personFields: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly prettyPrint: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly quotaUser: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly "requestMask.includeField": { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly requestSyncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly resourceName: { + readonly location: "path"; + readonly repeated: false; + readonly required: true; + }; + readonly sortOrder: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + readonly sources: { + readonly location: "query"; + readonly repeated: true; + readonly required: false; + }; + readonly syncToken: { + readonly location: "query"; + readonly repeated: false; + readonly required: false; + }; + }; + readonly path: "v1/{+resourceName}/connections"; + readonly request: false; + }; + }; + readonly resources: {}; + }; + }; + }; + }; + }; + }; +}; +//#endregion +//#region src/google-workspace.d.ts +declare const GOOGLE_WORKSPACE_APPLICATION_CARD: { + readonly availability: "ready; native files"; + readonly id: "google-workspace"; + readonly name: "Google Workspace"; + readonly summary: "Drive, Gmail, Calendar, Docs, Sheets, Slides, Chat, and People with native Drive transfers."; +}; +declare const GOOGLE_WORKSPACE_AUTH_REQUIREMENTS: { + readonly binding: "google-workspace"; + readonly origins: readonly ["https://www.googleapis.com/"]; + readonly scopes: readonly ["https://mail.google.com/", "https://www.googleapis.com/auth/calendar", "https://www.googleapis.com/auth/chat.messages", "https://www.googleapis.com/auth/chat.spaces", "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/contacts.readonly", "https://www.googleapis.com/auth/directory.readonly", "https://www.googleapis.com/auth/userinfo.profile"]; + readonly skillNames: readonly ["google-workspace"]; +}; +declare const GOOGLE_WORKSPACE_APPLICATION_FACE: { + readonly card: { + readonly availability: "ready; native files"; + readonly id: "google-workspace"; + readonly name: "Google Workspace"; + readonly summary: "Drive, Gmail, Calendar, Docs, Sheets, Slides, Chat, and People with native Drive transfers."; + }; + readonly members: readonly [{ + readonly effect: "authorization"; + readonly inputNames: readonly []; + readonly path: "authorize"; + readonly signature: "ctx.applications[\"google-workspace\"].authorize(): Promise<{ authorized: true }>"; + readonly summary: "Request the employee's Google Workspace grant from Chrome Identity."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].authorize"; + readonly output: "{ authorized: true }"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "ruleId", "userIp"]; + readonly path: "calendar.acl.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.delete(input: object): Promise"; + readonly summary: "Deletes an access control rule."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "ruleId", "userIp"]; + readonly path: "calendar.acl.get"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.get(input: object): Promise"; + readonly summary: "Returns an access control rule."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "sendNotifications", "userIp", "requestBody"]; + readonly path: "calendar.acl.insert"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.insert(input: object): Promise"; + readonly summary: "Creates an access control rule."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.insert"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "maxResults", "pageToken", "prettyPrint", "quotaUser", "showDeleted", "syncToken", "userIp"]; + readonly path: "calendar.acl.list"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.list(input: object): Promise"; + readonly summary: "Returns the rules in the access control list for the calendar."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "ruleId", "sendNotifications", "userIp", "requestBody"]; + readonly path: "calendar.acl.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.patch(input: object): Promise"; + readonly summary: "Updates an access control rule. This method supports patch semantics."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.patch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "ruleId", "sendNotifications", "userIp", "requestBody"]; + readonly path: "calendar.acl.update"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.update(input: object): Promise"; + readonly summary: "Updates an access control rule."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "maxResults", "pageToken", "prettyPrint", "quotaUser", "showDeleted", "syncToken", "userIp", "requestBody"]; + readonly path: "calendar.acl.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().acl.watch(input: object): Promise"; + readonly summary: "Watch for changes to ACL resources."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().acl.watch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp"]; + readonly path: "calendar.calendarList.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.delete(input: object): Promise"; + readonly summary: "Removes a calendar from the user's calendar list."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp"]; + readonly path: "calendar.calendarList.get"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.get(input: object): Promise"; + readonly summary: "Returns a calendar from the user's calendar list."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "colorRgbFormat", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.calendarList.insert"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.insert(input?: object): Promise"; + readonly summary: "Inserts an existing calendar into the user's calendar list."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.insert"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "fields", "maxResults", "minAccessRole", "pageToken", "prettyPrint", "quotaUser", "showDeleted", "showHidden", "showOwnOrganizationOnly", "syncToken", "userIp"]; + readonly path: "calendar.calendarList.list"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.list(input?: object): Promise"; + readonly summary: "Returns the calendars on the user's calendar list."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "colorRgbFormat", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.calendarList.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.patch(input: object): Promise"; + readonly summary: "Updates an existing calendar on the user's calendar list. This method supports patch semantics."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.patch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "colorRgbFormat", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.calendarList.update"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.update(input: object): Promise"; + readonly summary: "Updates an existing calendar on the user's calendar list."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "fields", "maxResults", "minAccessRole", "pageToken", "prettyPrint", "quotaUser", "showDeleted", "showHidden", "showOwnOrganizationOnly", "syncToken", "userIp", "requestBody"]; + readonly path: "calendar.calendarList.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendarList.watch(input?: object): Promise"; + readonly summary: "Watch for changes to CalendarList resources."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendarList.watch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp"]; + readonly path: "calendar.calendars.clear"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.clear(input: object): Promise"; + readonly summary: "Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.clear"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp"]; + readonly path: "calendar.calendars.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.delete(input: object): Promise"; + readonly summary: "Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp"]; + readonly path: "calendar.calendars.get"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.get(input: object): Promise"; + readonly summary: "Returns metadata for a calendar."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.calendars.insert"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.insert(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.insert"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.calendars.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.patch(input: object): Promise"; + readonly summary: "Updates metadata for a calendar. This method supports patch semantics."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.patch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "newDataOwner", "prettyPrint", "quotaUser", "useAdminAccess", "userIp"]; + readonly path: "calendar.calendars.transferOwnership"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.transferOwnership(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.transferOwnership"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.calendars.update"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().calendars.update(input: object): Promise"; + readonly summary: "Updates metadata for a calendar."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().calendars.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.channels.stop"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().channels.stop(input?: object): Promise"; + readonly summary: "Stop watching resources through this channel"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().channels.stop"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "fields", "prettyPrint", "quotaUser", "userIp"]; + readonly path: "calendar.colors.get"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().colors.get(input?: object): Promise"; + readonly summary: "Returns the color definitions for calendars and events."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().colors.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "eventId", "fields", "prettyPrint", "quotaUser", "sendNotifications", "sendUpdates", "userIp"]; + readonly path: "calendar.events.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.delete(input: object): Promise"; + readonly summary: "Deletes an event."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "alwaysIncludeEmail", "calendarId", "eventId", "fields", "maxAttendees", "prettyPrint", "quotaUser", "timeZone", "userIp"]; + readonly path: "calendar.events.get"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.get(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "conferenceDataVersion", "eventLabelVersion", "fields", "prettyPrint", "quotaUser", "supportsAttachments", "userIp", "requestBody"]; + readonly path: "calendar.events.import"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.import(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.import"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "conferenceDataVersion", "eventLabelVersion", "fields", "maxAttendees", "prettyPrint", "quotaUser", "sendNotifications", "sendUpdates", "supportsAttachments", "userIp", "requestBody"]; + readonly path: "calendar.events.insert"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.insert(input: object): Promise"; + readonly summary: "Creates an event."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.insert"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "alwaysIncludeEmail", "calendarId", "eventId", "fields", "maxAttendees", "maxResults", "originalStart", "pageToken", "prettyPrint", "quotaUser", "showDeleted", "timeMax", "timeMin", "timeZone", "userIp"]; + readonly path: "calendar.events.instances"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.instances(input: object): Promise"; + readonly summary: "Returns instances of the specified recurring event."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.instances"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "alwaysIncludeEmail", "calendarId", "eventTypes", "fields", "iCalUID", "maxAttendees", "maxResults", "orderBy", "pageToken", "prettyPrint", "privateExtendedProperty", "q", "quotaUser", "sharedExtendedProperty", "showDeleted", "showHiddenInvitations", "singleEvents", "syncToken", "timeMax", "timeMin", "timeZone", "updatedMin", "userIp"]; + readonly path: "calendar.events.list"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.list(input: object): Promise"; + readonly summary: "Returns events on the specified calendar."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "destination", "eventId", "fields", "prettyPrint", "quotaUser", "sendNotifications", "sendUpdates", "userIp"]; + readonly path: "calendar.events.move"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.move(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.move"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "alwaysIncludeEmail", "calendarId", "conferenceDataVersion", "eventId", "eventLabelVersion", "fields", "maxAttendees", "prettyPrint", "quotaUser", "sendNotifications", "sendUpdates", "supportsAttachments", "userIp", "requestBody"]; + readonly path: "calendar.events.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.patch(input: object): Promise"; + readonly summary: "Updates an event. This method supports patch semantics."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.patch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "calendarId", "fields", "prettyPrint", "quotaUser", "sendNotifications", "sendUpdates", "text", "userIp"]; + readonly path: "calendar.events.quickAdd"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.quickAdd(input: object): Promise"; + readonly summary: "Creates an event based on a simple text string."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.quickAdd"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "alwaysIncludeEmail", "calendarId", "conferenceDataVersion", "eventId", "eventLabelVersion", "fields", "maxAttendees", "prettyPrint", "quotaUser", "sendNotifications", "sendUpdates", "supportsAttachments", "userIp", "requestBody"]; + readonly path: "calendar.events.update"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.update(input: object): Promise"; + readonly summary: "Updates an event."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "alwaysIncludeEmail", "calendarId", "eventTypes", "fields", "iCalUID", "maxAttendees", "maxResults", "orderBy", "pageToken", "prettyPrint", "privateExtendedProperty", "q", "quotaUser", "sharedExtendedProperty", "showDeleted", "showHiddenInvitations", "singleEvents", "syncToken", "timeMax", "timeMin", "timeZone", "updatedMin", "userIp", "requestBody"]; + readonly path: "calendar.events.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().events.watch(input: object): Promise"; + readonly summary: "Watch for changes to Events resources."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().events.watch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "fields", "prettyPrint", "quotaUser", "userIp", "requestBody"]; + readonly path: "calendar.freebusy.query"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().freebusy.query(input?: object): Promise"; + readonly summary: "Returns free/busy information for a set of calendars."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().freebusy.query"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "fields", "prettyPrint", "quotaUser", "setting", "userIp"]; + readonly path: "calendar.settings.get"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().settings.get(input: object): Promise"; + readonly summary: "Returns a single user setting."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().settings.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["alt", "fields", "maxResults", "pageToken", "prettyPrint", "quotaUser", "syncToken", "userIp"]; + readonly path: "calendar.settings.list"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().settings.list(input?: object): Promise"; + readonly summary: "Returns all user settings for the authenticated user."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().settings.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["alt", "fields", "maxResults", "pageToken", "prettyPrint", "quotaUser", "syncToken", "userIp", "requestBody"]; + readonly path: "calendar.settings.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].calendar().settings.watch(input?: object): Promise"; + readonly summary: "Watch for changes to Settings resources."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].calendar().settings.watch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.customEmojis.create"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().customEmojis.create(input?: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().customEmojis.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.customEmojis.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().customEmojis.delete(input: object): Promise"; + readonly summary: "Deletes a custom emoji. By default, users can only delete custom emoji they created. [Emoji managers](https://support.google.com/a/answer/12850085) assigned by the administrator can delete any custom emoji in the organization. See [Learn about custom emojis in Google Chat](https://support.google.com/chat/answer/12800149). 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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().customEmojis.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.customEmojis.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().customEmojis.get(input: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis.readonly` - `https://www.googleapis.com/auth/chat.customemojis`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().customEmojis.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "pageSize", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "chat.customEmojis.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().customEmojis.list(input?: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis.readonly` - `https://www.googleapis.com/auth/chat.customemojis`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().customEmojis.list"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "resourceName"]; + readonly path: "chat.media.download"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().media.download(input: object): Promise"; + readonly summary: "Downloads media. Download is supported on the URI `/v1/media/{+name}?alt=media`."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().media.download"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "parent", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.media.upload"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().media.upload(input: object): Promise"; + readonly summary: "Uploads an attachment. For an example, see [Upload media as a file attachment](https://developers.google.com/workspace/chat/upload-media-attachments). Requires user [authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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](https://support.google.com/chat/answer/7651457?&co=GENIE.Platform%3DDesktop#File%20types%20blocked%20in%20Google%20Chat)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().media.upload"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.spaces.completeImport"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.completeImport(input: object): Promise"; + readonly summary: "Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified space and makes it visible to users. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) and domain-wide delegation with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.import` For more information, see [Authorize Google Chat apps to import data](https://developers.google.com/workspace/chat/authorize-import)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.completeImport"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestId", "requestBody"]; + readonly path: "chat.spaces.create"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.create(input?: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/create-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "useAdminAccess"]; + readonly path: "chat.spaces.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.delete` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.findDirectMessage"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.findDirectMessage(input?: object): Promise"; + readonly summary: "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](/chat/api/guides/v1/spaces/find-direct-message). With [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app), returns the direct message space between the specified user and the calling Chat app. With [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), returns the direct message space between the specified user and the authenticated user. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.readonly` - `https://www.googleapis.com/auth/chat.spaces`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.findDirectMessage"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "prettyPrint", "quotaUser", "spaceView", "users"]; + readonly path: "chat.spaces.findGroupChats"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.findGroupChats(input?: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.memberships.readonly` - `https://www.googleapis.com/auth/chat.memberships`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.findGroupChats"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "useAdminAccess"]; + readonly path: "chat.spaces.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.get(input: object): Promise"; + readonly summary: "Returns details about a space. For an example, see [Get details about a space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "pageSize", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.list(input?: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/list-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method using Workspace administrator privileges instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "parent", "prettyPrint", "quotaUser", "useAdminAccess", "requestBody"]; + readonly path: "chat.spaces.members.create"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.members.create(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or add a Google Group to a space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the Chat app to a space](https://developers.google.com/workspace/chat/create-members#create-membership-calling-api)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.members.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "useAdminAccess"]; + readonly path: "chat.spaces.members.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.members.delete(input: object): Promise"; + readonly summary: "Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) the Chat app must be the space creator."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.members.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "useAdminAccess"]; + readonly path: "chat.spaces.members.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.members.get(input: object): Promise"; + readonly summary: "Returns details about a membership. For an example, see [Get details about a user's or Google Chat app's membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth)) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.members.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "pageSize", "pageToken", "parent", "prettyPrint", "quotaUser", "showGroups", "showInvited", "useAdminAccess"]; + readonly path: "chat.spaces.members.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.members.list(input: object): Promise"; + readonly summary: "Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth)) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.members.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "useAdminAccess", "requestBody"]; + readonly path: "chat.spaces.members.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.members.patch(input: object): Promise"; + readonly summary: "Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.members.patch"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.messages.attachments.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.attachments.get(input: object): Promise"; + readonly summary: "Gets the metadata of a message attachment. The attachment data is fetched using the [media API](https://developers.google.com/workspace/chat/api/reference/rest/v1/media/download). For an example, see [Get metadata about a message attachment](https://developers.google.com/workspace/chat/get-media-attachments). Requires [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.bot`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.attachments.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "createMessageNotificationOptions.notificationType", "fields", "messageId", "messageReplyOption", "parent", "prettyPrint", "quotaUser", "requestId", "threadKey", "requestBody"]; + readonly path: "chat.spaces.messages.create"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.create(input: object): Promise"; + readonly summary: "Creates a message in a Google Chat space. For an example, see [Send a message](https://developers.google.com/workspace/chat/create-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/images/message-app-auth.svg) 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](https://developers.google.com/workspace/chat/images/message-user-auth.svg) The maximum message size, including the message contents, is 32,000 bytes. For [webhook](https://developers.google.com/workspace/chat/quickstart/webhooks) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "force", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.messages.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.delete(input: object): Promise"; + readonly summary: "Deletes a message. For an example, see [Delete a message](https://developers.google.com/workspace/chat/delete-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "markupSyntax", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.messages.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.get(input: object): Promise"; + readonly summary: "Returns details about a message. For an example, see [Get details about a message](https://developers.google.com/workspace/chat/get-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://developers.google.com/workspace/chat/slash-commands) that invoke the Chat app. - `https://www.googleapis.com/auth/chat.app.messages.readonly` with [administrator approval](https://support.google.com/a?p=chat-app-auth). When using this authentication scope, this method returns details about a public message in a space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "markupSyntax", "orderBy", "pageSize", "pageToken", "parent", "prettyPrint", "quotaUser", "showDeleted"]; + readonly path: "chat.spaces.messages.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.list(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/api/guides/v1/messages/list). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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)"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "allowMissing", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "requestBody"]; + readonly path: "chat.spaces.messages.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.patch(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/update-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.patch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "parent", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.spaces.messages.reactions.create"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.create(input: object): Promise"; + readonly summary: "Creates a reaction and adds it to a message. For an example, see [Add a reaction to a message](https://developers.google.com/workspace/chat/create-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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)"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.messages.reactions.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.delete(input: object): Promise"; + readonly summary: "Deletes a reaction to a message. For an example, see [Delete a reaction](https://developers.google.com/workspace/chat/delete-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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)"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "pageSize", "pageToken", "parent", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.messages.reactions.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.list(input: object): Promise"; + readonly summary: "Lists reactions to a message. For an example, see [List reactions for a message](https://developers.google.com/workspace/chat/list-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "parent", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.spaces.messages.search"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.search(input: object): Promise"; + readonly summary: "Searches for messages in Google Chat that the calling user has access to. Returns a list of messages matching the search criteria. To search across all spaces the user has access to, set `parent` to `spaces/-`. Using any other value for `parent` results in an `INVALID_ARGUMENT` error. The returned messages have their `name` field populated with the full resource name, which includes the specific `space` in which the message resides. This API doesn't return all message types. The types of messages listed below aren't included in the response. Use ListMessages to list all messages. - Private Messages that are visible to the authenticated user. - Messages posted by Chat apps in spaces or group chats. - Messages in a Chat app DM. - Messages from blocked users. - Messages in spaces that the caller has muted. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.messages.readonly` - `https://www.googleapis.com/auth/chat.messages`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.search"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "allowMissing", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "requestBody"]; + readonly path: "chat.spaces.messages.update"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.messages.update(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/update-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.messages.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "useAdminAccess", "requestBody"]; + readonly path: "chat.spaces.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.patch(input: object): Promise"; + readonly summary: "Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). 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](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.patch"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "orderBy", "pageSize", "pageToken", "prettyPrint", "query", "quotaUser", "useAdminAccess"]; + readonly path: "chat.spaces.search"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.search(input?: object): Promise"; + readonly summary: "Returns a list of spaces in a Google Workspace organization. For an example, see [Search for and manage spaces](https://developers.google.com/workspace/chat/search-manage-admin). 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`. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges) and one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.admin.spaces.readonly` - `https://www.googleapis.com/auth/chat.admin.spaces`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.search"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.spaces.setup"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.setup(input?: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/set-up-spaces). 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](https://cloud.google.com/identity/docs/reference/rest/v1/groups/lookup) 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](https://developers.google.com/workspace/chat/create-members). 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.spaces.create` - `https://www.googleapis.com/auth/chat.spaces`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.setup"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.spaceEvents.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.get(input: object): Promise"; + readonly summary: "Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_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](https://developers.google.com/workspace/chat/authenticate-authorize) with an [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes) appropriate for reading the requested data: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/get-space-event)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "pageSize", "pageToken", "parent", "prettyPrint", "quotaUser"]; + readonly path: "chat.spaces.spaceEvents.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.list(input: object): Promise"; + readonly summary: "Lists events from a Google Chat space. For each event, the [payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_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](https://developers.google.com/workspace/chat/authenticate-authorize) with an [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes) appropriate for reading the requested data: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/list-space-events)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.list"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.availability.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.availability.get(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability.readonly` - `https://www.googleapis.com/auth/chat.users.availability`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.availability.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.users.availability.markAsActive"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.availability.markAsActive(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.availability.markAsActive"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.users.availability.markAsAway"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.availability.markAsAway(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.availability.markAsAway"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.users.availability.markAsDoNotDisturb"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.availability.markAsDoNotDisturb(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.availability.markAsDoNotDisturb"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "requestBody"]; + readonly path: "chat.users.availability.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.availability.patch(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.availability.patch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "parent", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.users.sections.create"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.create(input: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.sections.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.delete(input: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "filter", "pageSize", "pageToken", "parent", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.sections.items.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.items.list(input: object): Promise"; + readonly summary: "Lists items in a section. Only spaces can be section items. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` - `https://www.googleapis.com/auth/chat.users.sections.readonly`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.items.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.users.sections.items.move"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.items.move(input: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.items.move"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "parent", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.sections.list"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.list(input: object): Promise"; + readonly summary: "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` - `https://www.googleapis.com/auth/chat.users.sections.readonly`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "requestBody"]; + readonly path: "chat.users.sections.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.patch(input: object): Promise"; + readonly summary: "Updates a section. Only sections of type `CUSTOM_SECTION` can be updated. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.patch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "chat.users.sections.position"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.sections.position(input: object): Promise"; + readonly summary: "Changes the sort order of a section. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.sections.position"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.spaces.getSpaceReadState"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.spaces.getSpaceReadState(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/get-space-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate.readonly` - `https://www.googleapis.com/auth/chat.users.readstate`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.spaces.getSpaceReadState"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.spaces.spaceNotificationSetting.get"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.get(input: object): Promise"; + readonly summary: "Gets the space notification setting. For an example, see [Get the caller's space notification setting](https://developers.google.com/workspace/chat/get-space-notification-setting). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.spacesettings`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "requestBody"]; + readonly path: "chat.users.spaces.spaceNotificationSetting.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.patch(input: object): Promise"; + readonly summary: "Updates the space notification setting. For an example, see [Update the caller's space notification setting](https://developers.google.com/workspace/chat/update-space-notification-setting). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.spacesettings`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.patch"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "chat.users.spaces.threads.getThreadReadState"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.spaces.threads.getThreadReadState(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/get-thread-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate.readonly` - `https://www.googleapis.com/auth/chat.users.readstate`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.spaces.threads.getThreadReadState"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser", "updateMask", "requestBody"]; + readonly path: "chat.users.spaces.updateSpaceReadState"; + readonly signature: "ctx.applications[\"google-workspace\"].chat().users.spaces.updateSpaceReadState(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/chat/update-space-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate`"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].chat().users.spaces.updateSpaceReadState"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "documentId", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "docs.documents.batchUpdate"; + readonly signature: "ctx.applications[\"google-workspace\"].docs().documents.batchUpdate(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].docs().documents.batchUpdate"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "docs.documents.create"; + readonly signature: "ctx.applications[\"google-workspace\"].docs().documents.create(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].docs().documents.create"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "documentId", "fields", "includeTabsContent", "prettyPrint", "quotaUser", "suggestionsViewMode"]; + readonly path: "docs.documents.get"; + readonly signature: "ctx.applications[\"google-workspace\"].docs().documents.get(input: object): Promise"; + readonly summary: "Gets the latest version of the specified document."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].docs().documents.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser"]; + readonly path: "drive.about.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().about.get(input?: object): Promise"; + readonly summary: "Gets information about the user, the user's Drive, and system capabilities. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().about.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "proposalId", "quotaUser"]; + readonly path: "drive.accessproposals.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().accessproposals.get(input: object): Promise"; + readonly summary: "Retrieves an access proposal by ID. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().accessproposals.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "pageSize", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "drive.accessproposals.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().accessproposals.list(input: object): Promise"; + readonly summary: "List the access proposals on a file. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access). Note: Only approvers are able to list access proposals on a file. If the user isn't an approver, a 403 error is returned."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().accessproposals.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "proposalId", "quotaUser", "requestBody"]; + readonly path: "drive.accessproposals.resolve"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().accessproposals.resolve(input: object): Promise"; + readonly summary: "Approves or denies an access proposal. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().accessproposals.resolve"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "approvalId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.approvals.approve"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.approve(input: object): Promise"; + readonly summary: "Approves an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.approve"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "approvalId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.approvals.cancel"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.cancel(input: object): Promise"; + readonly summary: "Cancels an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.cancel"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "approvalId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.approvals.comment"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.comment(input: object): Promise"; + readonly summary: "Comments on an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals). This sends a notification to both the initiator and the reviewers. Additionally, a message is also added to the approval activity log."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.comment"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "approvalId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.approvals.decline"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.decline(input: object): Promise"; + readonly summary: "Declines an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.decline"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "approvalId", "fields", "fileId", "prettyPrint", "quotaUser"]; + readonly path: "drive.approvals.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.get(input: object): Promise"; + readonly summary: "Gets an approval by ID. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "pageSize", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "drive.approvals.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.list(input: object): Promise"; + readonly summary: "Lists the approvals on a file. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "approvalId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.approvals.reassign"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.reassign(input: object): Promise"; + readonly summary: "Reassigns the reviewers on an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.reassign"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.approvals.start"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().approvals.start(input: object): Promise"; + readonly summary: "Starts an approval on a file. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().approvals.start"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "appId", "fields", "prettyPrint", "quotaUser"]; + readonly path: "drive.apps.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().apps.get(input: object): Promise"; + readonly summary: "Gets a specific app. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().apps.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "appFilterExtensions", "appFilterMimeTypes", "fields", "languageCode", "prettyPrint", "quotaUser"]; + readonly path: "drive.apps.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().apps.list(input?: object): Promise"; + readonly summary: "Lists a user's installed apps. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().apps.list"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "teamDriveId"]; + readonly path: "drive.changes.getStartPageToken"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().changes.getStartPageToken(input?: object): Promise"; + readonly summary: "Gets the starting pageToken for listing future changes. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().changes.getStartPageToken"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "includeCorpusRemovals", "includeItemsFromAllDrives", "includeLabels", "includePermissionsForView", "includeRemoved", "includeTeamDriveItems", "pageSize", "pageToken", "prettyPrint", "quotaUser", "restrictToMyDrive", "spaces", "supportsAllDrives", "supportsTeamDrives", "teamDriveId"]; + readonly path: "drive.changes.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().changes.list(input: object): Promise"; + readonly summary: "Lists the changes for a user or shared drive. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().changes.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "includeCorpusRemovals", "includeItemsFromAllDrives", "includeLabels", "includePermissionsForView", "includeRemoved", "includeTeamDriveItems", "pageSize", "pageToken", "prettyPrint", "quotaUser", "restrictToMyDrive", "spaces", "supportsAllDrives", "supportsTeamDrives", "teamDriveId", "requestBody"]; + readonly path: "drive.changes.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().changes.watch(input: object): Promise"; + readonly summary: "Subscribes to changes for a user. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().changes.watch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.channels.stop"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().channels.stop(input?: object): Promise"; + readonly summary: "Stops watching resources through this channel. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().channels.stop"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.comments.create"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().comments.create(input: object): Promise"; + readonly summary: "Creates a comment on a file. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().comments.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "prettyPrint", "quotaUser"]; + readonly path: "drive.comments.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().comments.delete(input: object): Promise"; + readonly summary: "Deletes a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().comments.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "includeDeleted", "prettyPrint", "quotaUser"]; + readonly path: "drive.comments.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().comments.get(input: object): Promise"; + readonly summary: "Gets a comment by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().comments.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "includeDeleted", "pageSize", "pageToken", "prettyPrint", "quotaUser", "startModifiedTime"]; + readonly path: "drive.comments.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().comments.list(input: object): Promise"; + readonly summary: "Lists a file's comments. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().comments.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.comments.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().comments.update(input: object): Promise"; + readonly summary: "Updates a comment with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().comments.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestId", "requestBody"]; + readonly path: "drive.drives.create"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.create(input: object): Promise"; + readonly summary: "Creates a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "allowItemDeletion", "alt", "driveId", "fields", "prettyPrint", "quotaUser", "useDomainAdminAccess"]; + readonly path: "drive.drives.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "prettyPrint", "quotaUser", "useDomainAdminAccess"]; + readonly path: "drive.drives.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.get(input: object): Promise"; + readonly summary: "Gets a shared drive's metadata by ID. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "prettyPrint", "quotaUser"]; + readonly path: "drive.drives.hide"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.hide(input: object): Promise"; + readonly summary: "Hides a shared drive from the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.hide"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "prettyPrint", "q", "quotaUser", "useDomainAdminAccess"]; + readonly path: "drive.drives.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.list(input?: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/drive/api/guides/search-shareddrives) guide."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "prettyPrint", "quotaUser"]; + readonly path: "drive.drives.unhide"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.unhide(input: object): Promise"; + readonly summary: "Restores a shared drive to the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.unhide"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "fields", "prettyPrint", "quotaUser", "useDomainAdminAccess", "requestBody"]; + readonly path: "drive.drives.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().drives.update(input: object): Promise"; + readonly summary: "Updates the metadata for a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().drives.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "enforceSingleParent", "fields", "fileId", "ignoreDefaultVisibility", "includeLabels", "includePermissionsForView", "keepRevisionForever", "ocrLanguage", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "requestBody"]; + readonly path: "drive.files.copy"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.copy(input: object): Promise"; + readonly summary: "Creates a copy of a file and applies any requested updates with patch semantics. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.copy"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "enforceSingleParent", "fields", "ignoreDefaultVisibility", "includeLabels", "includePermissionsForView", "keepRevisionForever", "ocrLanguage", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "useContentAsIndexableText", "requestBody"]; + readonly path: "drive.files.create"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.create(input?: object): Promise"; + readonly summary: "Creates a file. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file). 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](https://developers.google.com/workspace/drive/api/guides/mime-types).) For more information on uploading files, see [Upload file data](https://developers.google.com/workspace/drive/api/guides/manage-uploads). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "enforceSingleParent", "fields", "fileId", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives"]; + readonly path: "drive.files.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.delete(input: object): Promise"; + readonly summary: "Permanently deletes a file owned by the user without moving it to the trash. For more information, see [Trash or delete files and folders](https://developers.google.com/workspace/drive/api/guides/delete). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.delete"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "mimeType", "prettyPrint", "quotaUser", "revisionId"]; + readonly path: "drive.files.download"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.download(input: object): Promise"; + readonly summary: "Downloads the content of a file. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Operations are valid for 24 hours from the time of creation."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.download"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["acknowledgeAbuse", "fileId", "path", "sha256"]; + readonly path: "drive.files.downloadToWorkspace"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.downloadToWorkspace(input: DriveDownloadInput): Promise<{ path: string; sha256: string; size: number }>"; + readonly summary: "Stream Drive bytes directly into an atomically published workspace path."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.downloadToWorkspace"; + readonly output: "{ path: string; sha256: string; size: number }"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "driveId", "enforceSingleParent", "fields", "prettyPrint", "quotaUser"]; + readonly path: "drive.files.emptyTrash"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.emptyTrash(input?: object): Promise"; + readonly summary: "Permanently deletes all of the user's trashed files. For more information, see [Trash or delete files and folders](https://developers.google.com/workspace/drive/api/guides/delete)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.emptyTrash"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "mimeType", "prettyPrint", "quotaUser"]; + readonly path: "drive.files.export"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.export(input: object): Promise"; + readonly summary: "Exports a Google Workspace document to the requested MIME type and returns exported byte content. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Note that the exported content is limited to 10 MB."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.export"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "parent", "prettyPrint", "quotaUser"]; + readonly path: "drive.files.generateCseToken"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.generateCseToken(input?: object): Promise"; + readonly summary: "Generates a CSE token which can be used to create or update CSE files."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.generateCseToken"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "count", "fields", "prettyPrint", "quotaUser", "space", "type"]; + readonly path: "drive.files.generateIds"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.generateIds(input?: object): Promise"; + readonly summary: "Generates a set of file IDs which can be provided in create or copy requests. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.generateIds"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "acknowledgeAbuse", "alt", "fields", "fileId", "includeLabels", "includePermissionsForView", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives"]; + readonly path: "drive.files.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.get(input: object): Promise"; + readonly summary: "Gets a file's metadata or content by ID. For more information, see [Search for files and folders](https://developers.google.com/workspace/drive/api/guides/search-files). 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`](https://developers.google.com/workspace/drive/api/reference/rest/v3/files/export) instead. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "corpora", "corpus", "driveId", "fields", "includeItemsFromAllDrives", "includeLabels", "includePermissionsForView", "includeTeamDriveItems", "orderBy", "pageSize", "pageToken", "prettyPrint", "q", "quotaUser", "spaces", "supportsAllDrives", "supportsTeamDrives", "teamDriveId"]; + readonly path: "drive.files.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.list(input?: object): Promise"; + readonly summary: "Lists the user's files. For more information, see [Search for files and folders](https://developers.google.com/workspace/drive/api/guides/search-files). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.list"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "maxResults", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "drive.files.listLabels"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.listLabels(input: object): Promise"; + readonly summary: "Lists the labels on a file. For more information, see [List labels on a file](https://developers.google.com/workspace/drive/api/guides/list-labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.listLabels"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.files.modifyLabels"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.modifyLabels(input: object): Promise"; + readonly summary: "Modifies the set of labels applied to a file. For more information, see [Set a label field on a file](https://developers.google.com/workspace/drive/api/guides/set-label). Returns a list of the labels that were added or modified."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.modifyLabels"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "addParents", "alt", "enforceSingleParent", "fields", "fileId", "includeLabels", "includePermissionsForView", "keepRevisionForever", "ocrLanguage", "prettyPrint", "quotaUser", "removeParents", "supportsAllDrives", "supportsTeamDrives", "useContentAsIndexableText", "requestBody"]; + readonly path: "drive.files.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.update(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/drive/api/guides/mime-types).) For more information on uploading files, see [Upload file data](https://developers.google.com/workspace/drive/api/guides/manage-uploads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["file", "requestBody"]; + readonly path: "drive.files.upload"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.upload(input: DriveUploadInput): Promise"; + readonly summary: "Upload a native browser File without base64 or a model-visible byte body."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.upload"; + readonly output: "GoogleDrive.File"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "acknowledgeAbuse", "alt", "fields", "fileId", "includeLabels", "includePermissionsForView", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "requestBody"]; + readonly path: "drive.files.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().files.watch(input: object): Promise"; + readonly summary: "Subscribes to changes to a file. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().files.watch"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "name", "prettyPrint", "quotaUser"]; + readonly path: "drive.operations.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().operations.get(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().operations.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "emailMessage", "enforceExpansiveAccess", "enforceSingleParent", "fields", "fileId", "moveToNewOwnersRoot", "prettyPrint", "quotaUser", "sendNotificationEmail", "supportsAllDrives", "supportsTeamDrives", "transferOwnership", "useDomainAdminAccess", "requestBody"]; + readonly path: "drive.permissions.create"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().permissions.create(input: object): Promise"; + readonly summary: "Creates a permission for a file or shared drive. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().permissions.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "enforceExpansiveAccess", "fields", "fileId", "permissionId", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "useDomainAdminAccess"]; + readonly path: "drive.permissions.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().permissions.delete(input: object): Promise"; + readonly summary: "Deletes a permission. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().permissions.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "permissionId", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "useDomainAdminAccess"]; + readonly path: "drive.permissions.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().permissions.get(input: object): Promise"; + readonly summary: "Gets a permission by ID. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().permissions.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "includePermissionsForView", "pageSize", "pageToken", "prettyPrint", "quotaUser", "supportsAllDrives", "supportsTeamDrives", "useDomainAdminAccess"]; + readonly path: "drive.permissions.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().permissions.list(input: object): Promise"; + readonly summary: "Lists a file's or shared drive's permissions. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().permissions.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "enforceExpansiveAccess", "fields", "fileId", "permissionId", "prettyPrint", "quotaUser", "removeExpiration", "supportsAllDrives", "supportsTeamDrives", "transferOwnership", "useDomainAdminAccess", "requestBody"]; + readonly path: "drive.permissions.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().permissions.update(input: object): Promise"; + readonly summary: "Updates a permission with patch semantics. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().permissions.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "drive.replies.create"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().replies.create(input: object): Promise"; + readonly summary: "Creates a reply to a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().replies.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "prettyPrint", "quotaUser", "replyId"]; + readonly path: "drive.replies.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().replies.delete(input: object): Promise"; + readonly summary: "Deletes a reply. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().replies.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "includeDeleted", "prettyPrint", "quotaUser", "replyId"]; + readonly path: "drive.replies.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().replies.get(input: object): Promise"; + readonly summary: "Gets a reply by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().replies.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "includeDeleted", "pageSize", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "drive.replies.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().replies.list(input: object): Promise"; + readonly summary: "Lists a comment's replies. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().replies.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "commentId", "fields", "fileId", "prettyPrint", "quotaUser", "replyId", "requestBody"]; + readonly path: "drive.replies.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().replies.update(input: object): Promise"; + readonly summary: "Updates a reply with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().replies.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "quotaUser", "revisionId"]; + readonly path: "drive.revisions.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().revisions.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/drive/api/guides/manage-revisions)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().revisions.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "acknowledgeAbuse", "alt", "fields", "fileId", "prettyPrint", "quotaUser", "revisionId"]; + readonly path: "drive.revisions.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().revisions.get(input: object): Promise"; + readonly summary: "Gets a revision's metadata or content by ID. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().revisions.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "pageSize", "pageToken", "prettyPrint", "quotaUser"]; + readonly path: "drive.revisions.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().revisions.list(input: object): Promise"; + readonly summary: "Lists a file's revisions. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().revisions.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "fileId", "prettyPrint", "quotaUser", "revisionId", "requestBody"]; + readonly path: "drive.revisions.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().revisions.update(input: object): Promise"; + readonly summary: "Updates a revision with patch semantics. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().revisions.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestId", "requestBody"]; + readonly path: "drive.teamdrives.create"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().teamdrives.create(input: object): Promise"; + readonly summary: "Deprecated: Use `drives.create` instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().teamdrives.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "teamDriveId"]; + readonly path: "drive.teamdrives.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().teamdrives.delete(input: object): Promise"; + readonly summary: "Deprecated: Use `drives.delete` instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().teamdrives.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "teamDriveId", "useDomainAdminAccess"]; + readonly path: "drive.teamdrives.get"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().teamdrives.get(input: object): Promise"; + readonly summary: "Deprecated: Use `drives.get` instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().teamdrives.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "prettyPrint", "q", "quotaUser", "useDomainAdminAccess"]; + readonly path: "drive.teamdrives.list"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().teamdrives.list(input?: object): Promise"; + readonly summary: "Deprecated: Use `drives.list` instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().teamdrives.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "teamDriveId", "useDomainAdminAccess", "requestBody"]; + readonly path: "drive.teamdrives.update"; + readonly signature: "ctx.applications[\"google-workspace\"].drive().teamdrives.update(input: object): Promise"; + readonly summary: "Deprecated: Use `drives.update` instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].drive().teamdrives.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.drafts.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.drafts.create(input: object): Promise"; + readonly summary: "Creates a draft with the `DRAFT` label. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.drafts.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.drafts.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.drafts.delete(input: object): Promise"; + readonly summary: "Immediately and permanently deletes the specified draft. Does not simply trash it. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.drafts.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "format", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.drafts.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.drafts.get(input: object): Promise"; + readonly summary: "Gets the specified draft. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.drafts.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "includeSpamTrash", "maxResults", "pageToken", "prettyPrint", "q", "quotaUser", "userId"]; + readonly path: "gmail.users.drafts.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.drafts.list(input: object): Promise"; + readonly summary: "Lists the drafts in the user's mailbox. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.drafts.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.drafts.send"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.drafts.send(input: object): Promise"; + readonly summary: "Sends the specified, existing draft to the recipients in the `To`, `Cc`, and `Bcc` headers. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.drafts.send"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.drafts.update"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.drafts.update(input: object): Promise"; + readonly summary: "Replaces a draft's content. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.drafts.update"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.getProfile"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.getProfile(input: object): Promise"; + readonly summary: "Gets the current user's Gmail profile."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.getProfile"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "historyTypes", "labelId", "maxResults", "pageToken", "prettyPrint", "quotaUser", "startHistoryId", "userId"]; + readonly path: "gmail.users.history.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.history.list(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/sync)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.history.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.labels.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.labels.create(input: object): Promise"; + readonly summary: "Creates a label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.labels.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.labels.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.labels.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.labels.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.labels.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.labels.get(input: object): Promise"; + readonly summary: "Gets the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.labels.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.labels.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.labels.list(input: object): Promise"; + readonly summary: "Lists all labels in the user's mailbox. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.labels.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.labels.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.labels.patch(input: object): Promise"; + readonly summary: "Patch the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.labels.patch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.labels.update"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.labels.update(input: object): Promise"; + readonly summary: "Updates the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.labels.update"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "messageId", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.messages.attachments.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.attachments.get(input: object): Promise"; + readonly summary: "Gets the specified message attachment."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.attachments.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.messages.batchDelete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.batchDelete(input: object): Promise"; + readonly summary: "Deletes many messages by message ID. Provides no guarantees that messages were not already deleted or even existed at all."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.batchDelete"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.messages.batchModify"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.batchModify(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) to impersonate users with the `https://www.googleapis.com/auth/gmail.modify.restricted` scope."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.batchModify"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.messages.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.delete(input: object): Promise"; + readonly summary: "Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer `messages.trash` instead."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "format", "id", "metadataHeaders", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.messages.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.get(input: object): Promise"; + readonly summary: "Gets the specified message."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "deleted", "fields", "internalDateSource", "neverMarkSpam", "prettyPrint", "processForCalendar", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.messages.import"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.import(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.import"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "deleted", "fields", "internalDateSource", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.messages.insert"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.insert(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/sending)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.insert"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "includeSpamTrash", "labelIds", "maxResults", "pageToken", "prettyPrint", "q", "quotaUser", "userId"]; + readonly path: "gmail.users.messages.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.list(input: object): Promise"; + readonly summary: "Lists the messages in the user's mailbox. For more information, see [List Gmail messages](https://developers.google.com/workspace/gmail/api/guides/list-messages)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.messages.modify"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.modify(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) to impersonate users with the `https://www.googleapis.com/auth/gmail.modify.restricted` scope."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.modify"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.messages.send"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.send(input: object): Promise"; + readonly summary: "Sends the specified message to the recipients in the `To`, `Cc`, and `Bcc` headers. For more information, see [Create and send email messages](https://developers.google.com/workspace/gmail/api/guides/sending)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.send"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.messages.trash"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.trash(input: object): Promise"; + readonly summary: "Moves the specified message to the trash."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.trash"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.messages.untrash"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.messages.untrash(input: object): Promise"; + readonly summary: "Removes the specified message from the trash."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.messages.untrash"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.cse.identities.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.create(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "cseEmailAddress", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.cse.identities.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "cseEmailAddress", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.cse.identities.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.get(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.cse.identities.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.list(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "emailAddress", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.cse.identities.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.patch(input: object): Promise"; + readonly summary: "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](https://support.google.com/a/answer/7300887). For administrators managing identities and keypairs for users in their organization, requests require authorization with a [service account](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.patch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "chainValidation", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.cse.keypairs.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.create(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "keyPairId", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.cse.keypairs.disable"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.disable(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.disable"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "keyPairId", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.cse.keypairs.enable"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.enable(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.enable"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "keyPairId", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.cse.keypairs.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.get(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.cse.keypairs.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.list(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "keyPairId", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.cse.keypairs.obliterate"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.obliterate(input: object): Promise"; + readonly summary: "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.obliterate"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.delegates.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.create(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "delegateEmail", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.delegates.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "delegateEmail", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.delegates.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.get(input: object): Promise"; + readonly summary: "Gets the specified delegate. For more information, see [Manage delegates](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.delegates.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.list(input: object): Promise"; + readonly summary: "Lists the delegates for the specified account. For more information, see [Manage delegates](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.filters.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.create(input: object): Promise"; + readonly summary: "Creates a filter. Note: you can only create a maximum of 1,000 filters. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.filters.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.delete(input: object): Promise"; + readonly summary: "Immediately and permanently deletes the specified filter. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.filters.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.get(input: object): Promise"; + readonly summary: "Gets a filter. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.filters.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.list(input: object): Promise"; + readonly summary: "Lists the message filters of a Gmail user. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.forwardingAddresses.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.create(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "forwardingEmail", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.forwardingAddresses.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.delete(input: object): Promise"; + readonly summary: "Deletes the specified forwarding address and revokes any verification that may have been required. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "forwardingEmail", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.forwardingAddresses.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.get(input: object): Promise"; + readonly summary: "Gets the specified forwarding address. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.forwardingAddresses.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.list(input: object): Promise"; + readonly summary: "Lists the forwarding addresses for the specified account. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.list"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.getAutoForwarding"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.getAutoForwarding(input: object): Promise"; + readonly summary: "Gets the auto-forwarding setting for the specified account. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.getAutoForwarding"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.getImap"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.getImap(input: object): Promise"; + readonly summary: "Gets IMAP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.getImap"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.getLanguage"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.getLanguage(input: object): Promise"; + readonly summary: "Gets language settings. For more information, see [Manage language settings](https://developers.google.com/workspace/gmail/api/guides/language-settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.getLanguage"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.getPop"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.getPop(input: object): Promise"; + readonly summary: "Gets POP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.getPop"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.getVacation"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.getVacation(input: object): Promise"; + readonly summary: "Gets vacation responder settings. For more information, see [Manage vacation settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/vacation_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.getVacation"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.sendAs.create"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.create(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.get(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.settings.sendAs.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.list(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId", "requestBody"]; + readonly path: "gmail.users.settings.sendAs.patch"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.patch(input: object): Promise"; + readonly summary: "Patch the specified send-as alias. For more information, see [Manage aliases and signatures with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.patch"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.smimeInfo.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.delete(input: object): Promise"; + readonly summary: "Deletes the specified S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.smimeInfo.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.get(input: object): Promise"; + readonly summary: "Gets the specified S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId", "requestBody"]; + readonly path: "gmail.users.settings.sendAs.smimeInfo.insert"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.insert(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/smime_certs)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.insert"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.smimeInfo.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.list(input: object): Promise"; + readonly summary: "Lists S/MIME configs for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.smimeInfo.setDefault"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.setDefault(input: object): Promise"; + readonly summary: "Sets the default S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.setDefault"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId", "requestBody"]; + readonly path: "gmail.users.settings.sendAs.update"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.update(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). Addresses other than the primary address for the account can only be updated by service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sendAsEmail", "userId"]; + readonly path: "gmail.users.settings.sendAs.verify"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.verify(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.verify"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.updateAutoForwarding"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateAutoForwarding(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateAutoForwarding"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.updateImap"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateImap(input: object): Promise"; + readonly summary: "Updates IMAP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateImap"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.updateLanguage"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateLanguage(input: object): Promise"; + readonly summary: "Updates language settings. For more information, see [Manage language settings](https://developers.google.com/workspace/gmail/api/guides/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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateLanguage"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.updatePop"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.updatePop(input: object): Promise"; + readonly summary: "Updates POP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.updatePop"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.settings.updateVacation"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateVacation(input: object): Promise"; + readonly summary: "Updates vacation responder settings. For more information, see [Manage vacation settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/vacation_settings)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.settings.updateVacation"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.stop"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.stop(input: object): Promise"; + readonly summary: "Turn off push notification delivery for the given user mailbox. For more information, see [Configure push notifications in Gmail API](https://developers.google.com/workspace/gmail/api/guides/push)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.stop"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.threads.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.threads.delete(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/threads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.threads.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "format", "id", "metadataHeaders", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.threads.get"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.threads.get(input: object): Promise"; + readonly summary: "Gets the specified thread. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.threads.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "includeSpamTrash", "labelIds", "maxResults", "pageToken", "prettyPrint", "q", "quotaUser", "userId"]; + readonly path: "gmail.users.threads.list"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.threads.list(input: object): Promise"; + readonly summary: "Lists the threads in the user's mailbox. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.threads.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.threads.modify"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.threads.modify(input: object): Promise"; + readonly summary: "Modifies the labels applied to the thread. This applies to all messages in the thread. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.threads.modify"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.threads.trash"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.threads.trash(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/threads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.threads.trash"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "id", "prettyPrint", "quotaUser", "userId"]; + readonly path: "gmail.users.threads.untrash"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.threads.untrash(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/gmail/api/guides/threads)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.threads.untrash"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "userId", "requestBody"]; + readonly path: "gmail.users.watch"; + readonly signature: "ctx.applications[\"google-workspace\"].gmail().users.watch(input: object): Promise"; + readonly summary: "Set up or update a push notification watch on the given user mailbox. For more information, see [Configure push notifications in Gmail API](https://developers.google.com/workspace/gmail/api/guides/push)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].gmail().users.watch"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "groupFields", "maxMembers", "prettyPrint", "quotaUser", "resourceNames"]; + readonly path: "people.contactGroups.batchGet"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.batchGet(input?: object): Promise"; + readonly summary: "Get a list of contact groups owned by the authenticated user by specifying a list of contact group resource names."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.batchGet"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "people.contactGroups.create"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.create(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.create"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "deleteContacts", "fields", "prettyPrint", "quotaUser", "resourceName"]; + readonly path: "people.contactGroups.delete"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.delete(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.delete"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "groupFields", "maxMembers", "prettyPrint", "quotaUser", "resourceName"]; + readonly path: "people.contactGroups.get"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.get(input: object): Promise"; + readonly summary: "Get a specific contact group owned by the authenticated user by specifying a contact group resource name."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "groupFields", "pageSize", "pageToken", "prettyPrint", "quotaUser", "syncToken"]; + readonly path: "people.contactGroups.list"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.list(input?: object): Promise"; + readonly summary: "List all contact groups owned by the authenticated user. Members of the contact groups are not populated."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "resourceName", "requestBody"]; + readonly path: "people.contactGroups.members.modify"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.members.modify(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.members.modify"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "resourceName", "requestBody"]; + readonly path: "people.contactGroups.update"; + readonly signature: "ctx.applications[\"google-workspace\"].people().contactGroups.update(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().contactGroups.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "resourceName", "requestBody"]; + readonly path: "people.otherContacts.copyOtherContactToMyContactsGroup"; + readonly signature: "ctx.applications[\"google-workspace\"].people().otherContacts.copyOtherContactToMyContactsGroup(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().otherContacts.copyOtherContactToMyContactsGroup"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "prettyPrint", "quotaUser", "readMask", "requestSyncToken", "sources", "syncToken"]; + readonly path: "people.otherContacts.list"; + readonly signature: "ctx.applications[\"google-workspace\"].people().otherContacts.list(input?: object): Promise"; + readonly summary: "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](https://cloud.google.com/apis/design/errors#error_info) 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](/people/v1/other-contacts#list_the_users_other_contacts_that_have_changed)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().otherContacts.list"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "prettyPrint", "query", "quotaUser", "readMask"]; + readonly path: "people.otherContacts.search"; + readonly signature: "ctx.applications[\"google-workspace\"].people().otherContacts.search(input?: object): Promise"; + readonly summary: "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"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().otherContacts.search"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "people.people.batchCreateContacts"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.batchCreateContacts(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.batchCreateContacts"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "people.people.batchDeleteContacts"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.batchDeleteContacts(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.batchDeleteContacts"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "people.people.batchUpdateContacts"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.batchUpdateContacts(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.batchUpdateContacts"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "pageToken", "personFields", "prettyPrint", "quotaUser", "requestMask.includeField", "requestSyncToken", "resourceName", "sortOrder", "sources", "syncToken"]; + readonly path: "people.people.connections.list"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.connections.list(input: object): Promise"; + readonly summary: "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](https://cloud.google.com/apis/design/errors#error_info) 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](/people/v1/contacts#list_the_users_contacts_that_have_changed)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.connections.list"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "personFields", "prettyPrint", "quotaUser", "sources", "requestBody"]; + readonly path: "people.people.createContact"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.createContact(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.createContact"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "resourceName"]; + readonly path: "people.people.deleteContact"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.deleteContact(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.deleteContact"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "personFields", "prettyPrint", "quotaUser", "resourceName", "sources"]; + readonly path: "people.people.deleteContactPhoto"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.deleteContactPhoto(input: object): Promise"; + readonly summary: "Delete a contact's photo. Mutate requests for the same user should be done sequentially to avoid // lock contention."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.deleteContactPhoto"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "personFields", "prettyPrint", "quotaUser", "requestMask.includeField", "resourceName", "sources"]; + readonly path: "people.people.get"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.get(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "personFields", "prettyPrint", "quotaUser", "requestMask.includeField", "resourceNames", "sources"]; + readonly path: "people.people.getBatchGet"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.getBatchGet(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.getBatchGet"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "mergeSources", "pageSize", "pageToken", "prettyPrint", "quotaUser", "readMask", "requestSyncToken", "sources", "syncToken"]; + readonly path: "people.people.listDirectoryPeople"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.listDirectoryPeople(input?: object): Promise"; + readonly summary: "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](/people/v1/directory#list_the_directory_people_that_have_changed)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.listDirectoryPeople"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageSize", "prettyPrint", "query", "quotaUser", "readMask", "sources"]; + readonly path: "people.people.searchContacts"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.searchContacts(input?: object): Promise"; + readonly summary: "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"; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.searchContacts"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "mergeSources", "pageSize", "pageToken", "prettyPrint", "query", "quotaUser", "readMask", "sources"]; + readonly path: "people.people.searchDirectoryPeople"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.searchDirectoryPeople(input?: object): Promise"; + readonly summary: "Provides a list of domain profiles and domain contacts in the authenticated user's domain directory that match the search query."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.searchDirectoryPeople"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "personFields", "prettyPrint", "quotaUser", "resourceName", "sources", "updatePersonFields", "requestBody"]; + readonly path: "people.people.updateContact"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.updateContact(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.updateContact"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "resourceName", "requestBody"]; + readonly path: "people.people.updateContactPhoto"; + readonly signature: "ctx.applications[\"google-workspace\"].people().people.updateContactPhoto(input: object): Promise"; + readonly summary: "Update a contact's photo. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].people().people.updateContactPhoto"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.batchUpdate"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.batchUpdate(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.batchUpdate"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "sheets.spreadsheets.create"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.create(input?: object): Promise"; + readonly summary: "Creates a spreadsheet, returning the newly created spreadsheet."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.create"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "metadataId", "prettyPrint", "quotaUser", "spreadsheetId"]; + readonly path: "sheets.spreadsheets.developerMetadata.get"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.get(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/sheets/api/guides/metadata)."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.developerMetadata.search"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.search(input: object): Promise"; + readonly summary: "Returns all developer metadata matching the specified DataFilter. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.search"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "excludeTablesInBandedRanges", "fields", "includeGridData", "prettyPrint", "quotaUser", "ranges", "spreadsheetId"]; + readonly path: "sheets.spreadsheets.get"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.get(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/sheets/api/guides/field-masks) 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](https://developers.google.com/workspace/sheets/api/guides/concepts#cell). 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.getByDataFilter"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.getByDataFilter(input: object): Promise"; + readonly summary: "Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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](https://developers.google.com/workspace/sheets/api/guides/field-masks) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.getByDataFilter"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "sheetId", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.sheets.copyTo"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.sheets.copyTo(input: object): Promise"; + readonly summary: "Copies a single sheet from a spreadsheet to another spreadsheet. Returns the properties of the newly created sheet."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.sheets.copyTo"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "includeValuesInResponse", "insertDataOption", "prettyPrint", "quotaUser", "range", "responseDateTimeRenderOption", "responseValueRenderOption", "spreadsheetId", "valueInputOption", "requestBody"]; + readonly path: "sheets.spreadsheets.values.append"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.append(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/sheets/api/guides/values#appending_values) and [sample code](https://developers.google.com/workspace/sheets/api/samples/writing#append_values) 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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.append"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.values.batchClear"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClear(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClear"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.values.batchClearByDataFilter"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClearByDataFilter(input: object): Promise"; + readonly summary: "Clears one or more ranges of values from a spreadsheet. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClearByDataFilter"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "dateTimeRenderOption", "fields", "majorDimension", "prettyPrint", "quotaUser", "ranges", "spreadsheetId", "valueRenderOption"]; + readonly path: "sheets.spreadsheets.values.batchGet"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGet(input: object): Promise"; + readonly summary: "Returns one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGet"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.values.batchGetByDataFilter"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGetByDataFilter(input: object): Promise"; + readonly summary: "Returns one or more ranges of values that match the specified data filters. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGetByDataFilter"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.values.batchUpdate"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdate(input: object): Promise"; + readonly summary: "Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more ValueRanges."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdate"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.values.batchUpdateByDataFilter"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdateByDataFilter(input: object): Promise"; + readonly summary: "Sets values in one or more ranges of a spreadsheet. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata). The caller must specify the spreadsheet ID, a valueInputOption, and one or more DataFilterValueRanges."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdateByDataFilter"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "range", "spreadsheetId", "requestBody"]; + readonly path: "sheets.spreadsheets.values.clear"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.clear(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.clear"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "dateTimeRenderOption", "fields", "majorDimension", "prettyPrint", "quotaUser", "range", "spreadsheetId", "valueRenderOption"]; + readonly path: "sheets.spreadsheets.values.get"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.get(input: object): Promise"; + readonly summary: "Returns a range of values from a spreadsheet. The caller must specify the spreadsheet ID and a range."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.get"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "includeValuesInResponse", "prettyPrint", "quotaUser", "range", "responseDateTimeRenderOption", "responseValueRenderOption", "spreadsheetId", "valueInputOption", "requestBody"]; + readonly path: "sheets.spreadsheets.values.update"; + readonly signature: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.update(input: object): Promise"; + readonly summary: "Sets values in a range of a spreadsheet. The caller must specify the spreadsheet ID, range, and a valueInputOption."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.update"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "presentationId", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "slides.presentations.batchUpdate"; + readonly signature: "ctx.applications[\"google-workspace\"].slides().presentations.batchUpdate(input: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].slides().presentations.batchUpdate"; + readonly output: "unknown"; + }, { + readonly effect: "write"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "prettyPrint", "quotaUser", "requestBody"]; + readonly path: "slides.presentations.create"; + readonly signature: "ctx.applications[\"google-workspace\"].slides().presentations.create(input?: object): Promise"; + readonly summary: "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."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].slides().presentations.create"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "presentationId", "prettyPrint", "quotaUser"]; + readonly path: "slides.presentations.get"; + readonly signature: "ctx.applications[\"google-workspace\"].slides().presentations.get(input: object): Promise"; + readonly summary: "Gets the latest version of the specified presentation."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].slides().presentations.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageObjectId", "presentationId", "prettyPrint", "quotaUser"]; + readonly path: "slides.presentations.pages.get"; + readonly signature: "ctx.applications[\"google-workspace\"].slides().presentations.pages.get(input: object): Promise"; + readonly summary: "Gets the latest version of the specified page in the presentation."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].slides().presentations.pages.get"; + readonly output: "unknown"; + }, { + readonly effect: "read"; + readonly inputNames: readonly ["$.xgafv", "alt", "fields", "pageObjectId", "presentationId", "prettyPrint", "quotaUser", "thumbnailProperties.mimeType", "thumbnailProperties.thumbnailSize"]; + readonly path: "slides.presentations.pages.getThumbnail"; + readonly signature: "ctx.applications[\"google-workspace\"].slides().presentations.pages.getThumbnail(input: object): Promise"; + readonly summary: "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](https://developers.google.com/workspace/slides/limits) for quota purposes."; + readonly callPrefix: "ctx.applications[\"google-workspace\"].slides().presentations.pages.getThumbnail"; + readonly output: "unknown"; + }]; + readonly relatedSkills: readonly ["google-workspace"]; +}; +type GoogleWorkspaceAuthorization = { + ok: true; + token: string; +} | { + ok: false; + error: { + kind: "authentication_required"; + }; +}; +type GoogleWorkspaceTransport = { + __invalidateToken(token: string): Promise; + __token(interactive: boolean): Promise; +}; +type GoogleWorkspaceFiles = { + writeStream(input: { + expectedSha256?: string; + path: string; + stream: ReadableStream; + }): Promise<{ + path: string; + sha256: string; + size: number; + }>; +}; +type GoogleParameterDescription = { + readonly location: "path" | "query"; + readonly repeated: boolean; + readonly required: boolean; +}; +type GoogleMethodDescription = { + readonly httpMethod: "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; + readonly parameters: Readonly>; + readonly path: string; + readonly request: boolean; + readonly uploadPath?: string; +}; +type GoogleResourceDescription = { + readonly methods: Readonly>; + readonly resources: Readonly>; +}; +type GoogleServiceDescription = { + readonly baseUrl: string; + readonly resources: GoogleResourceDescription; +}; +type GoogleWorkspaceServices = Readonly>; +declare function installGoogleWorkspace(target: Record, transport: GoogleWorkspaceTransport, workspace: GoogleWorkspaceFiles, services?: GoogleWorkspaceServices): GoogleWorkspaceNamespace; +//#endregion +export { type ApplicationCard, type ApplicationMember, type CuratedApplicationFace, type DriveDownloadInput, type DriveUploadInput, GOOGLE_WORKSPACE_APPLICATION_CARD, GOOGLE_WORKSPACE_APPLICATION_FACE, GOOGLE_WORKSPACE_APPLICATION_ID, GOOGLE_WORKSPACE_AUTH_REQUIREMENTS, GOOGLE_WORKSPACE_MEMBER_INDEX, GOOGLE_WORKSPACE_REQUESTS, type GoogleCalendar, type GoogleChat, type GoogleDocs, type GoogleDrive, type GoogleGmail, type GooglePeople, type GoogleSheets, type GoogleSlides, GoogleWorkspaceAuthorization, GoogleWorkspaceFiles, type GoogleWorkspaceMember, type GoogleWorkspaceNamespace, GoogleWorkspaceTransport, installGoogleWorkspace }; \ No newline at end of file diff --git a/dist/google-workspace.js b/dist/google-workspace.js new file mode 100644 index 0000000..fe6f417 --- /dev/null +++ b/dist/google-workspace.js @@ -0,0 +1,18596 @@ +//#region src/google-workspace.generated.ts +const GOOGLE_WORKSPACE_APPLICATION_ID = "google-workspace"; + +//#endregion +//#region src/google-workspace.members.generated.ts +const GOOGLE_WORKSPACE_MEMBER_INDEX = [ + { + "effect": "authorization", + "inputNames": [], + "path": "authorize", + "signature": "ctx.applications[\"google-workspace\"].authorize(): Promise<{ authorized: true }>", + "summary": "Request the employee's Google Workspace grant from Chrome Identity.", + "callPrefix": "ctx.applications[\"google-workspace\"].authorize", + "output": "{ authorized: true }" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "ruleId", + "userIp" + ], + "path": "calendar.acl.delete", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.delete(input: object): Promise", + "summary": "Deletes an access control rule.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "ruleId", + "userIp" + ], + "path": "calendar.acl.get", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.get(input: object): Promise", + "summary": "Returns an access control rule.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "sendNotifications", + "userIp", + "requestBody" + ], + "path": "calendar.acl.insert", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.insert(input: object): Promise", + "summary": "Creates an access control rule.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.insert", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "calendarId", + "fields", + "maxResults", + "pageToken", + "prettyPrint", + "quotaUser", + "showDeleted", + "syncToken", + "userIp" + ], + "path": "calendar.acl.list", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.list(input: object): Promise", + "summary": "Returns the rules in the access control list for the calendar.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "ruleId", + "sendNotifications", + "userIp", + "requestBody" + ], + "path": "calendar.acl.patch", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.patch(input: object): Promise", + "summary": "Updates an access control rule. This method supports patch semantics.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "ruleId", + "sendNotifications", + "userIp", + "requestBody" + ], + "path": "calendar.acl.update", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.update(input: object): Promise", + "summary": "Updates an access control rule.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "maxResults", + "pageToken", + "prettyPrint", + "quotaUser", + "showDeleted", + "syncToken", + "userIp", + "requestBody" + ], + "path": "calendar.acl.watch", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.watch(input: object): Promise", + "summary": "Watch for changes to ACL resources.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.watch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp" + ], + "path": "calendar.calendarList.delete", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.delete(input: object): Promise", + "summary": "Removes a calendar from the user's calendar list.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp" + ], + "path": "calendar.calendarList.get", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.get(input: object): Promise", + "summary": "Returns a calendar from the user's calendar list.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "colorRgbFormat", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.calendarList.insert", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.insert(input?: object): Promise", + "summary": "Inserts an existing calendar into the user's calendar list.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.insert", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "fields", + "maxResults", + "minAccessRole", + "pageToken", + "prettyPrint", + "quotaUser", + "showDeleted", + "showHidden", + "showOwnOrganizationOnly", + "syncToken", + "userIp" + ], + "path": "calendar.calendarList.list", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.list(input?: object): Promise", + "summary": "Returns the calendars on the user's calendar list.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "colorRgbFormat", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.calendarList.patch", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.patch(input: object): Promise", + "summary": "Updates an existing calendar on the user's calendar list. This method supports patch semantics.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "colorRgbFormat", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.calendarList.update", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.update(input: object): Promise", + "summary": "Updates an existing calendar on the user's calendar list.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "fields", + "maxResults", + "minAccessRole", + "pageToken", + "prettyPrint", + "quotaUser", + "showDeleted", + "showHidden", + "showOwnOrganizationOnly", + "syncToken", + "userIp", + "requestBody" + ], + "path": "calendar.calendarList.watch", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.watch(input?: object): Promise", + "summary": "Watch for changes to CalendarList resources.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.watch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp" + ], + "path": "calendar.calendars.clear", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.clear(input: object): Promise", + "summary": "Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.clear", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp" + ], + "path": "calendar.calendars.delete", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.delete(input: object): Promise", + "summary": "Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp" + ], + "path": "calendar.calendars.get", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.get(input: object): Promise", + "summary": "Returns metadata for a calendar.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.calendars.insert", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.insert(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.insert", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.calendars.patch", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.patch(input: object): Promise", + "summary": "Updates metadata for a calendar. This method supports patch semantics.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "newDataOwner", + "prettyPrint", + "quotaUser", + "useAdminAccess", + "userIp" + ], + "path": "calendar.calendars.transferOwnership", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.transferOwnership(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.transferOwnership", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.calendars.update", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.update(input: object): Promise", + "summary": "Updates metadata for a calendar.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.channels.stop", + "signature": "ctx.applications[\"google-workspace\"].calendar().channels.stop(input?: object): Promise", + "summary": "Stop watching resources through this channel", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().channels.stop", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userIp" + ], + "path": "calendar.colors.get", + "signature": "ctx.applications[\"google-workspace\"].calendar().colors.get(input?: object): Promise", + "summary": "Returns the color definitions for calendars and events.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().colors.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "eventId", + "fields", + "prettyPrint", + "quotaUser", + "sendNotifications", + "sendUpdates", + "userIp" + ], + "path": "calendar.events.delete", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.delete(input: object): Promise", + "summary": "Deletes an event.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "alwaysIncludeEmail", + "calendarId", + "eventId", + "fields", + "maxAttendees", + "prettyPrint", + "quotaUser", + "timeZone", + "userIp" + ], + "path": "calendar.events.get", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.get(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "conferenceDataVersion", + "eventLabelVersion", + "fields", + "prettyPrint", + "quotaUser", + "supportsAttachments", + "userIp", + "requestBody" + ], + "path": "calendar.events.import", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.import(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.import", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "conferenceDataVersion", + "eventLabelVersion", + "fields", + "maxAttendees", + "prettyPrint", + "quotaUser", + "sendNotifications", + "sendUpdates", + "supportsAttachments", + "userIp", + "requestBody" + ], + "path": "calendar.events.insert", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.insert(input: object): Promise", + "summary": "Creates an event.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.insert", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "alwaysIncludeEmail", + "calendarId", + "eventId", + "fields", + "maxAttendees", + "maxResults", + "originalStart", + "pageToken", + "prettyPrint", + "quotaUser", + "showDeleted", + "timeMax", + "timeMin", + "timeZone", + "userIp" + ], + "path": "calendar.events.instances", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.instances(input: object): Promise", + "summary": "Returns instances of the specified recurring event.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.instances", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "alwaysIncludeEmail", + "calendarId", + "eventTypes", + "fields", + "iCalUID", + "maxAttendees", + "maxResults", + "orderBy", + "pageToken", + "prettyPrint", + "privateExtendedProperty", + "q", + "quotaUser", + "sharedExtendedProperty", + "showDeleted", + "showHiddenInvitations", + "singleEvents", + "syncToken", + "timeMax", + "timeMin", + "timeZone", + "updatedMin", + "userIp" + ], + "path": "calendar.events.list", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.list(input: object): Promise", + "summary": "Returns events on the specified calendar.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "destination", + "eventId", + "fields", + "prettyPrint", + "quotaUser", + "sendNotifications", + "sendUpdates", + "userIp" + ], + "path": "calendar.events.move", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.move(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.move", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "alwaysIncludeEmail", + "calendarId", + "conferenceDataVersion", + "eventId", + "eventLabelVersion", + "fields", + "maxAttendees", + "prettyPrint", + "quotaUser", + "sendNotifications", + "sendUpdates", + "supportsAttachments", + "userIp", + "requestBody" + ], + "path": "calendar.events.patch", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.patch(input: object): Promise", + "summary": "Updates an event. This method supports patch semantics.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "sendNotifications", + "sendUpdates", + "text", + "userIp" + ], + "path": "calendar.events.quickAdd", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.quickAdd(input: object): Promise", + "summary": "Creates an event based on a simple text string.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.quickAdd", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "alwaysIncludeEmail", + "calendarId", + "conferenceDataVersion", + "eventId", + "eventLabelVersion", + "fields", + "maxAttendees", + "prettyPrint", + "quotaUser", + "sendNotifications", + "sendUpdates", + "supportsAttachments", + "userIp", + "requestBody" + ], + "path": "calendar.events.update", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.update(input: object): Promise", + "summary": "Updates an event.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "alwaysIncludeEmail", + "calendarId", + "eventTypes", + "fields", + "iCalUID", + "maxAttendees", + "maxResults", + "orderBy", + "pageToken", + "prettyPrint", + "privateExtendedProperty", + "q", + "quotaUser", + "sharedExtendedProperty", + "showDeleted", + "showHiddenInvitations", + "singleEvents", + "syncToken", + "timeMax", + "timeMin", + "timeZone", + "updatedMin", + "userIp", + "requestBody" + ], + "path": "calendar.events.watch", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.watch(input: object): Promise", + "summary": "Watch for changes to Events resources.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.watch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.freebusy.query", + "signature": "ctx.applications[\"google-workspace\"].calendar().freebusy.query(input?: object): Promise", + "summary": "Returns free/busy information for a set of calendars.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().freebusy.query", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "fields", + "prettyPrint", + "quotaUser", + "setting", + "userIp" + ], + "path": "calendar.settings.get", + "signature": "ctx.applications[\"google-workspace\"].calendar().settings.get(input: object): Promise", + "summary": "Returns a single user setting.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().settings.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "fields", + "maxResults", + "pageToken", + "prettyPrint", + "quotaUser", + "syncToken", + "userIp" + ], + "path": "calendar.settings.list", + "signature": "ctx.applications[\"google-workspace\"].calendar().settings.list(input?: object): Promise", + "summary": "Returns all user settings for the authenticated user.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().settings.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "fields", + "maxResults", + "pageToken", + "prettyPrint", + "quotaUser", + "syncToken", + "userIp", + "requestBody" + ], + "path": "calendar.settings.watch", + "signature": "ctx.applications[\"google-workspace\"].calendar().settings.watch(input?: object): Promise", + "summary": "Watch for changes to Settings resources.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().settings.watch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.customEmojis.create", + "signature": "ctx.applications[\"google-workspace\"].chat().customEmojis.create(input?: object): Promise", + "summary": "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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().customEmojis.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.customEmojis.delete", + "signature": "ctx.applications[\"google-workspace\"].chat().customEmojis.delete(input: object): Promise", + "summary": "Deletes a custom emoji. By default, users can only delete custom emoji they created. [Emoji managers](https://support.google.com/a/answer/12850085) assigned by the administrator can delete any custom emoji in the organization. See [Learn about custom emojis in Google Chat](https://support.google.com/chat/answer/12800149). 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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().customEmojis.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.customEmojis.get", + "signature": "ctx.applications[\"google-workspace\"].chat().customEmojis.get(input: object): Promise", + "summary": "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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis.readonly` - `https://www.googleapis.com/auth/chat.customemojis`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().customEmojis.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "chat.customEmojis.list", + "signature": "ctx.applications[\"google-workspace\"].chat().customEmojis.list(input?: object): Promise", + "summary": "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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis.readonly` - `https://www.googleapis.com/auth/chat.customemojis`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().customEmojis.list", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "resourceName" + ], + "path": "chat.media.download", + "signature": "ctx.applications[\"google-workspace\"].chat().media.download(input: object): Promise", + "summary": "Downloads media. Download is supported on the URI `/v1/media/{+name}?alt=media`.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().media.download", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "parent", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.media.upload", + "signature": "ctx.applications[\"google-workspace\"].chat().media.upload(input: object): Promise", + "summary": "Uploads an attachment. For an example, see [Upload media as a file attachment](https://developers.google.com/workspace/chat/upload-media-attachments). Requires user [authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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](https://support.google.com/chat/answer/7651457?&co=GENIE.Platform%3DDesktop#File%20types%20blocked%20in%20Google%20Chat).", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().media.upload", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.spaces.completeImport", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.completeImport(input: object): Promise", + "summary": "Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified space and makes it visible to users. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) and domain-wide delegation with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.import` For more information, see [Authorize Google Chat apps to import data](https://developers.google.com/workspace/chat/authorize-import).", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.completeImport", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestId", + "requestBody" + ], + "path": "chat.spaces.create", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.create(input?: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/create-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "useAdminAccess" + ], + "path": "chat.spaces.delete", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.delete(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.delete` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.findDirectMessage", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.findDirectMessage(input?: object): Promise", + "summary": "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](/chat/api/guides/v1/spaces/find-direct-message). With [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app), returns the direct message space between the specified user and the calling Chat app. With [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), returns the direct message space between the specified user and the authenticated user. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.readonly` - `https://www.googleapis.com/auth/chat.spaces`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.findDirectMessage", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "spaceView", + "users" + ], + "path": "chat.spaces.findGroupChats", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.findGroupChats(input?: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.memberships.readonly` - `https://www.googleapis.com/auth/chat.memberships`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.findGroupChats", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "useAdminAccess" + ], + "path": "chat.spaces.get", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.get(input: object): Promise", + "summary": "Returns details about a space. For an example, see [Get details about a space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.list", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.list(input?: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/list-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method using Workspace administrator privileges instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "parent", + "prettyPrint", + "quotaUser", + "useAdminAccess", + "requestBody" + ], + "path": "chat.spaces.members.create", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.members.create(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or add a Google Group to a space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the Chat app to a space](https://developers.google.com/workspace/chat/create-members#create-membership-calling-api).", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.members.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "useAdminAccess" + ], + "path": "chat.spaces.members.delete", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.members.delete(input: object): Promise", + "summary": "Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) the Chat app must be the space creator.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.members.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "useAdminAccess" + ], + "path": "chat.spaces.members.get", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.members.get(input: object): Promise", + "summary": "Returns details about a membership. For an example, see [Get details about a user's or Google Chat app's membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth)) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.members.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "pageSize", + "pageToken", + "parent", + "prettyPrint", + "quotaUser", + "showGroups", + "showInvited", + "useAdminAccess" + ], + "path": "chat.spaces.members.list", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.members.list(input: object): Promise", + "summary": "Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth)) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.members.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "useAdminAccess", + "requestBody" + ], + "path": "chat.spaces.members.patch", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.members.patch(input: object): Promise", + "summary": "Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.members.patch", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.messages.attachments.get", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.attachments.get(input: object): Promise", + "summary": "Gets the metadata of a message attachment. The attachment data is fetched using the [media API](https://developers.google.com/workspace/chat/api/reference/rest/v1/media/download). For an example, see [Get metadata about a message attachment](https://developers.google.com/workspace/chat/get-media-attachments). Requires [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.bot`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.attachments.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "createMessageNotificationOptions.notificationType", + "fields", + "messageId", + "messageReplyOption", + "parent", + "prettyPrint", + "quotaUser", + "requestId", + "threadKey", + "requestBody" + ], + "path": "chat.spaces.messages.create", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.create(input: object): Promise", + "summary": "Creates a message in a Google Chat space. For an example, see [Send a message](https://developers.google.com/workspace/chat/create-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/images/message-app-auth.svg) 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](https://developers.google.com/workspace/chat/images/message-user-auth.svg) The maximum message size, including the message contents, is 32,000 bytes. For [webhook](https://developers.google.com/workspace/chat/quickstart/webhooks) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "force", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.messages.delete", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.delete(input: object): Promise", + "summary": "Deletes a message. For an example, see [Delete a message](https://developers.google.com/workspace/chat/delete-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "markupSyntax", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.messages.get", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.get(input: object): Promise", + "summary": "Returns details about a message. For an example, see [Get details about a message](https://developers.google.com/workspace/chat/get-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://developers.google.com/workspace/chat/slash-commands) that invoke the Chat app. - `https://www.googleapis.com/auth/chat.app.messages.readonly` with [administrator approval](https://support.google.com/a?p=chat-app-auth). When using this authentication scope, this method returns details about a public message in a space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "markupSyntax", + "orderBy", + "pageSize", + "pageToken", + "parent", + "prettyPrint", + "quotaUser", + "showDeleted" + ], + "path": "chat.spaces.messages.list", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.list(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/api/guides/v1/messages/list). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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)", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "allowMissing", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "requestBody" + ], + "path": "chat.spaces.messages.patch", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.patch(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/update-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "parent", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.spaces.messages.reactions.create", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.create(input: object): Promise", + "summary": "Creates a reaction and adds it to a message. For an example, see [Add a reaction to a message](https://developers.google.com/workspace/chat/create-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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)", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.messages.reactions.delete", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.delete(input: object): Promise", + "summary": "Deletes a reaction to a message. For an example, see [Delete a reaction](https://developers.google.com/workspace/chat/delete-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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)", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "pageSize", + "pageToken", + "parent", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.messages.reactions.list", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.list(input: object): Promise", + "summary": "Lists reactions to a message. For an example, see [List reactions for a message](https://developers.google.com/workspace/chat/list-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "parent", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.spaces.messages.search", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.search(input: object): Promise", + "summary": "Searches for messages in Google Chat that the calling user has access to. Returns a list of messages matching the search criteria. To search across all spaces the user has access to, set `parent` to `spaces/-`. Using any other value for `parent` results in an `INVALID_ARGUMENT` error. The returned messages have their `name` field populated with the full resource name, which includes the specific `space` in which the message resides. This API doesn't return all message types. The types of messages listed below aren't included in the response. Use ListMessages to list all messages. - Private Messages that are visible to the authenticated user. - Messages posted by Chat apps in spaces or group chats. - Messages in a Chat app DM. - Messages from blocked users. - Messages in spaces that the caller has muted. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.messages.readonly` - `https://www.googleapis.com/auth/chat.messages`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.search", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "allowMissing", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "requestBody" + ], + "path": "chat.spaces.messages.update", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.update(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/update-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "useAdminAccess", + "requestBody" + ], + "path": "chat.spaces.patch", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.patch(input: object): Promise", + "summary": "Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). 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](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.patch", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "orderBy", + "pageSize", + "pageToken", + "prettyPrint", + "query", + "quotaUser", + "useAdminAccess" + ], + "path": "chat.spaces.search", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.search(input?: object): Promise", + "summary": "Returns a list of spaces in a Google Workspace organization. For an example, see [Search for and manage spaces](https://developers.google.com/workspace/chat/search-manage-admin). 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`. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges) and one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.admin.spaces.readonly` - `https://www.googleapis.com/auth/chat.admin.spaces`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.search", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.spaces.setup", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.setup(input?: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/set-up-spaces). 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](https://cloud.google.com/identity/docs/reference/rest/v1/groups/lookup) 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](https://developers.google.com/workspace/chat/create-members). 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.spaces.create` - `https://www.googleapis.com/auth/chat.spaces`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.setup", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.spaceEvents.get", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.get(input: object): Promise", + "summary": "Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_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](https://developers.google.com/workspace/chat/authenticate-authorize) with an [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes) appropriate for reading the requested data: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/get-space-event).", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "pageSize", + "pageToken", + "parent", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.spaceEvents.list", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.list(input: object): Promise", + "summary": "Lists events from a Google Chat space. For each event, the [payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_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](https://developers.google.com/workspace/chat/authenticate-authorize) with an [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes) appropriate for reading the requested data: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/list-space-events).", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.list", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.availability.get", + "signature": "ctx.applications[\"google-workspace\"].chat().users.availability.get(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability.readonly` - `https://www.googleapis.com/auth/chat.users.availability`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.availability.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.users.availability.markAsActive", + "signature": "ctx.applications[\"google-workspace\"].chat().users.availability.markAsActive(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.availability.markAsActive", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.users.availability.markAsAway", + "signature": "ctx.applications[\"google-workspace\"].chat().users.availability.markAsAway(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.availability.markAsAway", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.users.availability.markAsDoNotDisturb", + "signature": "ctx.applications[\"google-workspace\"].chat().users.availability.markAsDoNotDisturb(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.availability.markAsDoNotDisturb", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "requestBody" + ], + "path": "chat.users.availability.patch", + "signature": "ctx.applications[\"google-workspace\"].chat().users.availability.patch(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.availability.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "parent", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.users.sections.create", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.create(input: object): Promise", + "summary": "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.sections.delete", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.delete(input: object): Promise", + "summary": "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "pageSize", + "pageToken", + "parent", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.sections.items.list", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.items.list(input: object): Promise", + "summary": "Lists items in a section. Only spaces can be section items. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` - `https://www.googleapis.com/auth/chat.users.sections.readonly`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.items.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.users.sections.items.move", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.items.move(input: object): Promise", + "summary": "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.items.move", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "parent", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.sections.list", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.list(input: object): Promise", + "summary": "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` - `https://www.googleapis.com/auth/chat.users.sections.readonly`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "requestBody" + ], + "path": "chat.users.sections.patch", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.patch(input: object): Promise", + "summary": "Updates a section. Only sections of type `CUSTOM_SECTION` can be updated. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.users.sections.position", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.position(input: object): Promise", + "summary": "Changes the sort order of a section. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.position", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.spaces.getSpaceReadState", + "signature": "ctx.applications[\"google-workspace\"].chat().users.spaces.getSpaceReadState(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/get-space-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate.readonly` - `https://www.googleapis.com/auth/chat.users.readstate`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.spaces.getSpaceReadState", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.spaces.spaceNotificationSetting.get", + "signature": "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.get(input: object): Promise", + "summary": "Gets the space notification setting. For an example, see [Get the caller's space notification setting](https://developers.google.com/workspace/chat/get-space-notification-setting). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.spacesettings`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "requestBody" + ], + "path": "chat.users.spaces.spaceNotificationSetting.patch", + "signature": "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.patch(input: object): Promise", + "summary": "Updates the space notification setting. For an example, see [Update the caller's space notification setting](https://developers.google.com/workspace/chat/update-space-notification-setting). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.spacesettings`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.patch", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.spaces.threads.getThreadReadState", + "signature": "ctx.applications[\"google-workspace\"].chat().users.spaces.threads.getThreadReadState(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/get-thread-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate.readonly` - `https://www.googleapis.com/auth/chat.users.readstate`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.spaces.threads.getThreadReadState", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "requestBody" + ], + "path": "chat.users.spaces.updateSpaceReadState", + "signature": "ctx.applications[\"google-workspace\"].chat().users.spaces.updateSpaceReadState(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/update-space-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.spaces.updateSpaceReadState", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "documentId", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "docs.documents.batchUpdate", + "signature": "ctx.applications[\"google-workspace\"].docs().documents.batchUpdate(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].docs().documents.batchUpdate", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "docs.documents.create", + "signature": "ctx.applications[\"google-workspace\"].docs().documents.create(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].docs().documents.create", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "documentId", + "fields", + "includeTabsContent", + "prettyPrint", + "quotaUser", + "suggestionsViewMode" + ], + "path": "docs.documents.get", + "signature": "ctx.applications[\"google-workspace\"].docs().documents.get(input: object): Promise", + "summary": "Gets the latest version of the specified document.", + "callPrefix": "ctx.applications[\"google-workspace\"].docs().documents.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser" + ], + "path": "drive.about.get", + "signature": "ctx.applications[\"google-workspace\"].drive().about.get(input?: object): Promise", + "summary": "Gets information about the user, the user's Drive, and system capabilities. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().about.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "proposalId", + "quotaUser" + ], + "path": "drive.accessproposals.get", + "signature": "ctx.applications[\"google-workspace\"].drive().accessproposals.get(input: object): Promise", + "summary": "Retrieves an access proposal by ID. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().accessproposals.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "drive.accessproposals.list", + "signature": "ctx.applications[\"google-workspace\"].drive().accessproposals.list(input: object): Promise", + "summary": "List the access proposals on a file. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access). Note: Only approvers are able to list access proposals on a file. If the user isn't an approver, a 403 error is returned.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().accessproposals.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "proposalId", + "quotaUser", + "requestBody" + ], + "path": "drive.accessproposals.resolve", + "signature": "ctx.applications[\"google-workspace\"].drive().accessproposals.resolve(input: object): Promise", + "summary": "Approves or denies an access proposal. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().accessproposals.resolve", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "approvalId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.approvals.approve", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.approve(input: object): Promise", + "summary": "Approves an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.approve", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "approvalId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.approvals.cancel", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.cancel(input: object): Promise", + "summary": "Cancels an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.cancel", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "approvalId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.approvals.comment", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.comment(input: object): Promise", + "summary": "Comments on an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals). This sends a notification to both the initiator and the reviewers. Additionally, a message is also added to the approval activity log.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.comment", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "approvalId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.approvals.decline", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.decline(input: object): Promise", + "summary": "Declines an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.decline", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "approvalId", + "fields", + "fileId", + "prettyPrint", + "quotaUser" + ], + "path": "drive.approvals.get", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.get(input: object): Promise", + "summary": "Gets an approval by ID. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "drive.approvals.list", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.list(input: object): Promise", + "summary": "Lists the approvals on a file. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "approvalId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.approvals.reassign", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.reassign(input: object): Promise", + "summary": "Reassigns the reviewers on an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.reassign", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.approvals.start", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.start(input: object): Promise", + "summary": "Starts an approval on a file. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.start", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "appId", + "fields", + "prettyPrint", + "quotaUser" + ], + "path": "drive.apps.get", + "signature": "ctx.applications[\"google-workspace\"].drive().apps.get(input: object): Promise", + "summary": "Gets a specific app. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().apps.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "appFilterExtensions", + "appFilterMimeTypes", + "fields", + "languageCode", + "prettyPrint", + "quotaUser" + ], + "path": "drive.apps.list", + "signature": "ctx.applications[\"google-workspace\"].drive().apps.list(input?: object): Promise", + "summary": "Lists a user's installed apps. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().apps.list", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "teamDriveId" + ], + "path": "drive.changes.getStartPageToken", + "signature": "ctx.applications[\"google-workspace\"].drive().changes.getStartPageToken(input?: object): Promise", + "summary": "Gets the starting pageToken for listing future changes. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().changes.getStartPageToken", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "includeCorpusRemovals", + "includeItemsFromAllDrives", + "includeLabels", + "includePermissionsForView", + "includeRemoved", + "includeTeamDriveItems", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "restrictToMyDrive", + "spaces", + "supportsAllDrives", + "supportsTeamDrives", + "teamDriveId" + ], + "path": "drive.changes.list", + "signature": "ctx.applications[\"google-workspace\"].drive().changes.list(input: object): Promise", + "summary": "Lists the changes for a user or shared drive. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().changes.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "includeCorpusRemovals", + "includeItemsFromAllDrives", + "includeLabels", + "includePermissionsForView", + "includeRemoved", + "includeTeamDriveItems", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "restrictToMyDrive", + "spaces", + "supportsAllDrives", + "supportsTeamDrives", + "teamDriveId", + "requestBody" + ], + "path": "drive.changes.watch", + "signature": "ctx.applications[\"google-workspace\"].drive().changes.watch(input: object): Promise", + "summary": "Subscribes to changes for a user. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().changes.watch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.channels.stop", + "signature": "ctx.applications[\"google-workspace\"].drive().channels.stop(input?: object): Promise", + "summary": "Stops watching resources through this channel. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().channels.stop", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.comments.create", + "signature": "ctx.applications[\"google-workspace\"].drive().comments.create(input: object): Promise", + "summary": "Creates a comment on a file. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().comments.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "prettyPrint", + "quotaUser" + ], + "path": "drive.comments.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().comments.delete(input: object): Promise", + "summary": "Deletes a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().comments.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "includeDeleted", + "prettyPrint", + "quotaUser" + ], + "path": "drive.comments.get", + "signature": "ctx.applications[\"google-workspace\"].drive().comments.get(input: object): Promise", + "summary": "Gets a comment by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().comments.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "includeDeleted", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "startModifiedTime" + ], + "path": "drive.comments.list", + "signature": "ctx.applications[\"google-workspace\"].drive().comments.list(input: object): Promise", + "summary": "Lists a file's comments. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().comments.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.comments.update", + "signature": "ctx.applications[\"google-workspace\"].drive().comments.update(input: object): Promise", + "summary": "Updates a comment with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().comments.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestId", + "requestBody" + ], + "path": "drive.drives.create", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.create(input: object): Promise", + "summary": "Creates a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "allowItemDeletion", + "alt", + "driveId", + "fields", + "prettyPrint", + "quotaUser", + "useDomainAdminAccess" + ], + "path": "drive.drives.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.delete(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "prettyPrint", + "quotaUser", + "useDomainAdminAccess" + ], + "path": "drive.drives.get", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.get(input: object): Promise", + "summary": "Gets a shared drive's metadata by ID. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "prettyPrint", + "quotaUser" + ], + "path": "drive.drives.hide", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.hide(input: object): Promise", + "summary": "Hides a shared drive from the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.hide", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "prettyPrint", + "q", + "quotaUser", + "useDomainAdminAccess" + ], + "path": "drive.drives.list", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.list(input?: object): Promise", + "summary": "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](https://developers.google.com/workspace/drive/api/guides/search-shareddrives) guide.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "prettyPrint", + "quotaUser" + ], + "path": "drive.drives.unhide", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.unhide(input: object): Promise", + "summary": "Restores a shared drive to the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.unhide", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "prettyPrint", + "quotaUser", + "useDomainAdminAccess", + "requestBody" + ], + "path": "drive.drives.update", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.update(input: object): Promise", + "summary": "Updates the metadata for a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "enforceSingleParent", + "fields", + "fileId", + "ignoreDefaultVisibility", + "includeLabels", + "includePermissionsForView", + "keepRevisionForever", + "ocrLanguage", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "requestBody" + ], + "path": "drive.files.copy", + "signature": "ctx.applications[\"google-workspace\"].drive().files.copy(input: object): Promise", + "summary": "Creates a copy of a file and applies any requested updates with patch semantics. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.copy", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "enforceSingleParent", + "fields", + "ignoreDefaultVisibility", + "includeLabels", + "includePermissionsForView", + "keepRevisionForever", + "ocrLanguage", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "useContentAsIndexableText", + "requestBody" + ], + "path": "drive.files.create", + "signature": "ctx.applications[\"google-workspace\"].drive().files.create(input?: object): Promise", + "summary": "Creates a file. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file). 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](https://developers.google.com/workspace/drive/api/guides/mime-types).) For more information on uploading files, see [Upload file data](https://developers.google.com/workspace/drive/api/guides/manage-uploads). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "enforceSingleParent", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives" + ], + "path": "drive.files.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().files.delete(input: object): Promise", + "summary": "Permanently deletes a file owned by the user without moving it to the trash. For more information, see [Trash or delete files and folders](https://developers.google.com/workspace/drive/api/guides/delete). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.delete", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "mimeType", + "prettyPrint", + "quotaUser", + "revisionId" + ], + "path": "drive.files.download", + "signature": "ctx.applications[\"google-workspace\"].drive().files.download(input: object): Promise", + "summary": "Downloads the content of a file. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Operations are valid for 24 hours from the time of creation.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.download", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "acknowledgeAbuse", + "fileId", + "path", + "sha256" + ], + "path": "drive.files.downloadToWorkspace", + "signature": "ctx.applications[\"google-workspace\"].drive().files.downloadToWorkspace(input: DriveDownloadInput): Promise<{ path: string; sha256: string; size: number }>", + "summary": "Stream Drive bytes directly into an atomically published workspace path.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.downloadToWorkspace", + "output": "{ path: string; sha256: string; size: number }" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "enforceSingleParent", + "fields", + "prettyPrint", + "quotaUser" + ], + "path": "drive.files.emptyTrash", + "signature": "ctx.applications[\"google-workspace\"].drive().files.emptyTrash(input?: object): Promise", + "summary": "Permanently deletes all of the user's trashed files. For more information, see [Trash or delete files and folders](https://developers.google.com/workspace/drive/api/guides/delete).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.emptyTrash", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "mimeType", + "prettyPrint", + "quotaUser" + ], + "path": "drive.files.export", + "signature": "ctx.applications[\"google-workspace\"].drive().files.export(input: object): Promise", + "summary": "Exports a Google Workspace document to the requested MIME type and returns exported byte content. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Note that the exported content is limited to 10 MB.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.export", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "parent", + "prettyPrint", + "quotaUser" + ], + "path": "drive.files.generateCseToken", + "signature": "ctx.applications[\"google-workspace\"].drive().files.generateCseToken(input?: object): Promise", + "summary": "Generates a CSE token which can be used to create or update CSE files.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.generateCseToken", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "count", + "fields", + "prettyPrint", + "quotaUser", + "space", + "type" + ], + "path": "drive.files.generateIds", + "signature": "ctx.applications[\"google-workspace\"].drive().files.generateIds(input?: object): Promise", + "summary": "Generates a set of file IDs which can be provided in create or copy requests. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.generateIds", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "acknowledgeAbuse", + "alt", + "fields", + "fileId", + "includeLabels", + "includePermissionsForView", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives" + ], + "path": "drive.files.get", + "signature": "ctx.applications[\"google-workspace\"].drive().files.get(input: object): Promise", + "summary": "Gets a file's metadata or content by ID. For more information, see [Search for files and folders](https://developers.google.com/workspace/drive/api/guides/search-files). 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`](https://developers.google.com/workspace/drive/api/reference/rest/v3/files/export) instead. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "corpora", + "corpus", + "driveId", + "fields", + "includeItemsFromAllDrives", + "includeLabels", + "includePermissionsForView", + "includeTeamDriveItems", + "orderBy", + "pageSize", + "pageToken", + "prettyPrint", + "q", + "quotaUser", + "spaces", + "supportsAllDrives", + "supportsTeamDrives", + "teamDriveId" + ], + "path": "drive.files.list", + "signature": "ctx.applications[\"google-workspace\"].drive().files.list(input?: object): Promise", + "summary": "Lists the user's files. For more information, see [Search for files and folders](https://developers.google.com/workspace/drive/api/guides/search-files). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.list", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "maxResults", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "drive.files.listLabels", + "signature": "ctx.applications[\"google-workspace\"].drive().files.listLabels(input: object): Promise", + "summary": "Lists the labels on a file. For more information, see [List labels on a file](https://developers.google.com/workspace/drive/api/guides/list-labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.listLabels", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.files.modifyLabels", + "signature": "ctx.applications[\"google-workspace\"].drive().files.modifyLabels(input: object): Promise", + "summary": "Modifies the set of labels applied to a file. For more information, see [Set a label field on a file](https://developers.google.com/workspace/drive/api/guides/set-label). Returns a list of the labels that were added or modified.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.modifyLabels", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "addParents", + "alt", + "enforceSingleParent", + "fields", + "fileId", + "includeLabels", + "includePermissionsForView", + "keepRevisionForever", + "ocrLanguage", + "prettyPrint", + "quotaUser", + "removeParents", + "supportsAllDrives", + "supportsTeamDrives", + "useContentAsIndexableText", + "requestBody" + ], + "path": "drive.files.update", + "signature": "ctx.applications[\"google-workspace\"].drive().files.update(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/drive/api/guides/mime-types).) For more information on uploading files, see [Upload file data](https://developers.google.com/workspace/drive/api/guides/manage-uploads).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": ["file", "requestBody"], + "path": "drive.files.upload", + "signature": "ctx.applications[\"google-workspace\"].drive().files.upload(input: DriveUploadInput): Promise", + "summary": "Upload a native browser File without base64 or a model-visible byte body.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.upload", + "output": "GoogleDrive.File" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "acknowledgeAbuse", + "alt", + "fields", + "fileId", + "includeLabels", + "includePermissionsForView", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "requestBody" + ], + "path": "drive.files.watch", + "signature": "ctx.applications[\"google-workspace\"].drive().files.watch(input: object): Promise", + "summary": "Subscribes to changes to a file. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.watch", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "drive.operations.get", + "signature": "ctx.applications[\"google-workspace\"].drive().operations.get(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().operations.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "emailMessage", + "enforceExpansiveAccess", + "enforceSingleParent", + "fields", + "fileId", + "moveToNewOwnersRoot", + "prettyPrint", + "quotaUser", + "sendNotificationEmail", + "supportsAllDrives", + "supportsTeamDrives", + "transferOwnership", + "useDomainAdminAccess", + "requestBody" + ], + "path": "drive.permissions.create", + "signature": "ctx.applications[\"google-workspace\"].drive().permissions.create(input: object): Promise", + "summary": "Creates a permission for a file or shared drive. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().permissions.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "enforceExpansiveAccess", + "fields", + "fileId", + "permissionId", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "useDomainAdminAccess" + ], + "path": "drive.permissions.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().permissions.delete(input: object): Promise", + "summary": "Deletes a permission. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().permissions.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "permissionId", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "useDomainAdminAccess" + ], + "path": "drive.permissions.get", + "signature": "ctx.applications[\"google-workspace\"].drive().permissions.get(input: object): Promise", + "summary": "Gets a permission by ID. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().permissions.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "includePermissionsForView", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "useDomainAdminAccess" + ], + "path": "drive.permissions.list", + "signature": "ctx.applications[\"google-workspace\"].drive().permissions.list(input: object): Promise", + "summary": "Lists a file's or shared drive's permissions. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().permissions.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "enforceExpansiveAccess", + "fields", + "fileId", + "permissionId", + "prettyPrint", + "quotaUser", + "removeExpiration", + "supportsAllDrives", + "supportsTeamDrives", + "transferOwnership", + "useDomainAdminAccess", + "requestBody" + ], + "path": "drive.permissions.update", + "signature": "ctx.applications[\"google-workspace\"].drive().permissions.update(input: object): Promise", + "summary": "Updates a permission with patch semantics. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().permissions.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.replies.create", + "signature": "ctx.applications[\"google-workspace\"].drive().replies.create(input: object): Promise", + "summary": "Creates a reply to a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().replies.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "replyId" + ], + "path": "drive.replies.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().replies.delete(input: object): Promise", + "summary": "Deletes a reply. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().replies.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "includeDeleted", + "prettyPrint", + "quotaUser", + "replyId" + ], + "path": "drive.replies.get", + "signature": "ctx.applications[\"google-workspace\"].drive().replies.get(input: object): Promise", + "summary": "Gets a reply by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().replies.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "includeDeleted", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "drive.replies.list", + "signature": "ctx.applications[\"google-workspace\"].drive().replies.list(input: object): Promise", + "summary": "Lists a comment's replies. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().replies.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "replyId", + "requestBody" + ], + "path": "drive.replies.update", + "signature": "ctx.applications[\"google-workspace\"].drive().replies.update(input: object): Promise", + "summary": "Updates a reply with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().replies.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "revisionId" + ], + "path": "drive.revisions.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().revisions.delete(input: object): Promise", + "summary": "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](https://developers.google.com/drive/api/guides/manage-revisions).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().revisions.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "acknowledgeAbuse", + "alt", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "revisionId" + ], + "path": "drive.revisions.get", + "signature": "ctx.applications[\"google-workspace\"].drive().revisions.get(input: object): Promise", + "summary": "Gets a revision's metadata or content by ID. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().revisions.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "drive.revisions.list", + "signature": "ctx.applications[\"google-workspace\"].drive().revisions.list(input: object): Promise", + "summary": "Lists a file's revisions. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-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.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().revisions.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "revisionId", + "requestBody" + ], + "path": "drive.revisions.update", + "signature": "ctx.applications[\"google-workspace\"].drive().revisions.update(input: object): Promise", + "summary": "Updates a revision with patch semantics. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().revisions.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestId", + "requestBody" + ], + "path": "drive.teamdrives.create", + "signature": "ctx.applications[\"google-workspace\"].drive().teamdrives.create(input: object): Promise", + "summary": "Deprecated: Use `drives.create` instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().teamdrives.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "teamDriveId" + ], + "path": "drive.teamdrives.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().teamdrives.delete(input: object): Promise", + "summary": "Deprecated: Use `drives.delete` instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().teamdrives.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "teamDriveId", + "useDomainAdminAccess" + ], + "path": "drive.teamdrives.get", + "signature": "ctx.applications[\"google-workspace\"].drive().teamdrives.get(input: object): Promise", + "summary": "Deprecated: Use `drives.get` instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().teamdrives.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "prettyPrint", + "q", + "quotaUser", + "useDomainAdminAccess" + ], + "path": "drive.teamdrives.list", + "signature": "ctx.applications[\"google-workspace\"].drive().teamdrives.list(input?: object): Promise", + "summary": "Deprecated: Use `drives.list` instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().teamdrives.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "teamDriveId", + "useDomainAdminAccess", + "requestBody" + ], + "path": "drive.teamdrives.update", + "signature": "ctx.applications[\"google-workspace\"].drive().teamdrives.update(input: object): Promise", + "summary": "Deprecated: Use `drives.update` instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().teamdrives.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.drafts.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.drafts.create(input: object): Promise", + "summary": "Creates a draft with the `DRAFT` label. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.drafts.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.drafts.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.drafts.delete(input: object): Promise", + "summary": "Immediately and permanently deletes the specified draft. Does not simply trash it. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.drafts.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "format", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.drafts.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.drafts.get(input: object): Promise", + "summary": "Gets the specified draft. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.drafts.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "includeSpamTrash", + "maxResults", + "pageToken", + "prettyPrint", + "q", + "quotaUser", + "userId" + ], + "path": "gmail.users.drafts.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.drafts.list(input: object): Promise", + "summary": "Lists the drafts in the user's mailbox. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.drafts.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.drafts.send", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.drafts.send(input: object): Promise", + "summary": "Sends the specified, existing draft to the recipients in the `To`, `Cc`, and `Bcc` headers. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.drafts.send", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.drafts.update", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.drafts.update(input: object): Promise", + "summary": "Replaces a draft's content. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.drafts.update", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.getProfile", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.getProfile(input: object): Promise", + "summary": "Gets the current user's Gmail profile.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.getProfile", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "historyTypes", + "labelId", + "maxResults", + "pageToken", + "prettyPrint", + "quotaUser", + "startHistoryId", + "userId" + ], + "path": "gmail.users.history.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.history.list(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/sync).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.history.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.labels.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.labels.create(input: object): Promise", + "summary": "Creates a label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.labels.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.labels.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.labels.delete(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.labels.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.labels.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.labels.get(input: object): Promise", + "summary": "Gets the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.labels.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.labels.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.labels.list(input: object): Promise", + "summary": "Lists all labels in the user's mailbox. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.labels.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.labels.patch", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.labels.patch(input: object): Promise", + "summary": "Patch the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.labels.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.labels.update", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.labels.update(input: object): Promise", + "summary": "Updates the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.labels.update", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "messageId", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.messages.attachments.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.attachments.get(input: object): Promise", + "summary": "Gets the specified message attachment.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.attachments.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.messages.batchDelete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.batchDelete(input: object): Promise", + "summary": "Deletes many messages by message ID. Provides no guarantees that messages were not already deleted or even existed at all.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.batchDelete", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.messages.batchModify", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.batchModify(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) to impersonate users with the `https://www.googleapis.com/auth/gmail.modify.restricted` scope.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.batchModify", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.messages.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.delete(input: object): Promise", + "summary": "Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer `messages.trash` instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "format", + "id", + "metadataHeaders", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.messages.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.get(input: object): Promise", + "summary": "Gets the specified message.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "deleted", + "fields", + "internalDateSource", + "neverMarkSpam", + "prettyPrint", + "processForCalendar", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.messages.import", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.import(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.import", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "deleted", + "fields", + "internalDateSource", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.messages.insert", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.insert(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/sending).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.insert", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "includeSpamTrash", + "labelIds", + "maxResults", + "pageToken", + "prettyPrint", + "q", + "quotaUser", + "userId" + ], + "path": "gmail.users.messages.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.list(input: object): Promise", + "summary": "Lists the messages in the user's mailbox. For more information, see [List Gmail messages](https://developers.google.com/workspace/gmail/api/guides/list-messages).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.messages.modify", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.modify(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) to impersonate users with the `https://www.googleapis.com/auth/gmail.modify.restricted` scope.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.modify", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.messages.send", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.send(input: object): Promise", + "summary": "Sends the specified message to the recipients in the `To`, `Cc`, and `Bcc` headers. For more information, see [Create and send email messages](https://developers.google.com/workspace/gmail/api/guides/sending).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.send", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.messages.trash", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.trash(input: object): Promise", + "summary": "Moves the specified message to the trash.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.trash", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.messages.untrash", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.untrash(input: object): Promise", + "summary": "Removes the specified message from the trash.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.untrash", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.cse.identities.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.create(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "cseEmailAddress", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.cse.identities.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.delete(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "cseEmailAddress", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.cse.identities.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.get(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.cse.identities.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.list(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "emailAddress", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.cse.identities.patch", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.patch(input: object): Promise", + "summary": "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](https://support.google.com/a/answer/7300887). For administrators managing identities and keypairs for users in their organization, requests require authorization with a [service account](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "chainValidation", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.cse.keypairs.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.create(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "keyPairId", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.cse.keypairs.disable", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.disable(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.disable", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "keyPairId", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.cse.keypairs.enable", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.enable(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.enable", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "keyPairId", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.cse.keypairs.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.get(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.cse.keypairs.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.list(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "keyPairId", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.cse.keypairs.obliterate", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.obliterate(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.obliterate", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.delegates.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.create(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "delegateEmail", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.delegates.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.delete(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "delegateEmail", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.delegates.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.get(input: object): Promise", + "summary": "Gets the specified delegate. For more information, see [Manage delegates](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.delegates.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.list(input: object): Promise", + "summary": "Lists the delegates for the specified account. For more information, see [Manage delegates](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.filters.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.create(input: object): Promise", + "summary": "Creates a filter. Note: you can only create a maximum of 1,000 filters. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.filters.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.delete(input: object): Promise", + "summary": "Immediately and permanently deletes the specified filter. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.filters.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.get(input: object): Promise", + "summary": "Gets a filter. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.filters.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.list(input: object): Promise", + "summary": "Lists the message filters of a Gmail user. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.forwardingAddresses.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.create(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "forwardingEmail", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.forwardingAddresses.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.delete(input: object): Promise", + "summary": "Deletes the specified forwarding address and revokes any verification that may have been required. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "forwardingEmail", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.forwardingAddresses.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.get(input: object): Promise", + "summary": "Gets the specified forwarding address. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.forwardingAddresses.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.list(input: object): Promise", + "summary": "Lists the forwarding addresses for the specified account. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.list", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.getAutoForwarding", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.getAutoForwarding(input: object): Promise", + "summary": "Gets the auto-forwarding setting for the specified account. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.getAutoForwarding", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.getImap", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.getImap(input: object): Promise", + "summary": "Gets IMAP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.getImap", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.getLanguage", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.getLanguage(input: object): Promise", + "summary": "Gets language settings. For more information, see [Manage language settings](https://developers.google.com/workspace/gmail/api/guides/language-settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.getLanguage", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.getPop", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.getPop(input: object): Promise", + "summary": "Gets POP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.getPop", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.getVacation", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.getVacation(input: object): Promise", + "summary": "Gets vacation responder settings. For more information, see [Manage vacation settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/vacation_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.getVacation", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.sendAs.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.create(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.delete(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.get(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.sendAs.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.list(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.sendAs.patch", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.patch(input: object): Promise", + "summary": "Patch the specified send-as alias. For more information, see [Manage aliases and signatures with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.smimeInfo.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.delete(input: object): Promise", + "summary": "Deletes the specified S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.smimeInfo.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.get(input: object): Promise", + "summary": "Gets the specified S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.sendAs.smimeInfo.insert", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.insert(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/smime_certs).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.insert", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.smimeInfo.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.list(input: object): Promise", + "summary": "Lists S/MIME configs for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.smimeInfo.setDefault", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.setDefault(input: object): Promise", + "summary": "Sets the default S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.setDefault", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.sendAs.update", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.update(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). Addresses other than the primary address for the account can only be updated by service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.verify", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.verify(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.verify", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.updateAutoForwarding", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateAutoForwarding(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateAutoForwarding", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.updateImap", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateImap(input: object): Promise", + "summary": "Updates IMAP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateImap", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.updateLanguage", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateLanguage(input: object): Promise", + "summary": "Updates language settings. For more information, see [Manage language settings](https://developers.google.com/workspace/gmail/api/guides/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.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateLanguage", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.updatePop", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.updatePop(input: object): Promise", + "summary": "Updates POP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.updatePop", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.updateVacation", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateVacation(input: object): Promise", + "summary": "Updates vacation responder settings. For more information, see [Manage vacation settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/vacation_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateVacation", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.stop", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.stop(input: object): Promise", + "summary": "Turn off push notification delivery for the given user mailbox. For more information, see [Configure push notifications in Gmail API](https://developers.google.com/workspace/gmail/api/guides/push).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.stop", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.threads.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.threads.delete(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/threads).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.threads.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "format", + "id", + "metadataHeaders", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.threads.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.threads.get(input: object): Promise", + "summary": "Gets the specified thread. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.threads.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "includeSpamTrash", + "labelIds", + "maxResults", + "pageToken", + "prettyPrint", + "q", + "quotaUser", + "userId" + ], + "path": "gmail.users.threads.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.threads.list(input: object): Promise", + "summary": "Lists the threads in the user's mailbox. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.threads.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.threads.modify", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.threads.modify(input: object): Promise", + "summary": "Modifies the labels applied to the thread. This applies to all messages in the thread. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.threads.modify", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.threads.trash", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.threads.trash(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/threads).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.threads.trash", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.threads.untrash", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.threads.untrash(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/threads).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.threads.untrash", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.watch", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.watch(input: object): Promise", + "summary": "Set up or update a push notification watch on the given user mailbox. For more information, see [Configure push notifications in Gmail API](https://developers.google.com/workspace/gmail/api/guides/push).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.watch", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "groupFields", + "maxMembers", + "prettyPrint", + "quotaUser", + "resourceNames" + ], + "path": "people.contactGroups.batchGet", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.batchGet(input?: object): Promise", + "summary": "Get a list of contact groups owned by the authenticated user by specifying a list of contact group resource names.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.batchGet", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "people.contactGroups.create", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.create(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "deleteContacts", + "fields", + "prettyPrint", + "quotaUser", + "resourceName" + ], + "path": "people.contactGroups.delete", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.delete(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "groupFields", + "maxMembers", + "prettyPrint", + "quotaUser", + "resourceName" + ], + "path": "people.contactGroups.get", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.get(input: object): Promise", + "summary": "Get a specific contact group owned by the authenticated user by specifying a contact group resource name.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "groupFields", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "syncToken" + ], + "path": "people.contactGroups.list", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.list(input?: object): Promise", + "summary": "List all contact groups owned by the authenticated user. Members of the contact groups are not populated.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "resourceName", + "requestBody" + ], + "path": "people.contactGroups.members.modify", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.members.modify(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.members.modify", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "resourceName", + "requestBody" + ], + "path": "people.contactGroups.update", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.update(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "resourceName", + "requestBody" + ], + "path": "people.otherContacts.copyOtherContactToMyContactsGroup", + "signature": "ctx.applications[\"google-workspace\"].people().otherContacts.copyOtherContactToMyContactsGroup(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().otherContacts.copyOtherContactToMyContactsGroup", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "readMask", + "requestSyncToken", + "sources", + "syncToken" + ], + "path": "people.otherContacts.list", + "signature": "ctx.applications[\"google-workspace\"].people().otherContacts.list(input?: object): Promise", + "summary": "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](https://cloud.google.com/apis/design/errors#error_info) 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](/people/v1/other-contacts#list_the_users_other_contacts_that_have_changed).", + "callPrefix": "ctx.applications[\"google-workspace\"].people().otherContacts.list", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "prettyPrint", + "query", + "quotaUser", + "readMask" + ], + "path": "people.otherContacts.search", + "signature": "ctx.applications[\"google-workspace\"].people().otherContacts.search(input?: object): Promise", + "summary": "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", + "callPrefix": "ctx.applications[\"google-workspace\"].people().otherContacts.search", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "people.people.batchCreateContacts", + "signature": "ctx.applications[\"google-workspace\"].people().people.batchCreateContacts(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.batchCreateContacts", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "people.people.batchDeleteContacts", + "signature": "ctx.applications[\"google-workspace\"].people().people.batchDeleteContacts(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.batchDeleteContacts", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "people.people.batchUpdateContacts", + "signature": "ctx.applications[\"google-workspace\"].people().people.batchUpdateContacts(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.batchUpdateContacts", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "personFields", + "prettyPrint", + "quotaUser", + "requestMask.includeField", + "requestSyncToken", + "resourceName", + "sortOrder", + "sources", + "syncToken" + ], + "path": "people.people.connections.list", + "signature": "ctx.applications[\"google-workspace\"].people().people.connections.list(input: object): Promise", + "summary": "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](https://cloud.google.com/apis/design/errors#error_info) 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](/people/v1/contacts#list_the_users_contacts_that_have_changed).", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.connections.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "personFields", + "prettyPrint", + "quotaUser", + "sources", + "requestBody" + ], + "path": "people.people.createContact", + "signature": "ctx.applications[\"google-workspace\"].people().people.createContact(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.createContact", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "resourceName" + ], + "path": "people.people.deleteContact", + "signature": "ctx.applications[\"google-workspace\"].people().people.deleteContact(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.deleteContact", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "personFields", + "prettyPrint", + "quotaUser", + "resourceName", + "sources" + ], + "path": "people.people.deleteContactPhoto", + "signature": "ctx.applications[\"google-workspace\"].people().people.deleteContactPhoto(input: object): Promise", + "summary": "Delete a contact's photo. Mutate requests for the same user should be done sequentially to avoid // lock contention.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.deleteContactPhoto", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "personFields", + "prettyPrint", + "quotaUser", + "requestMask.includeField", + "resourceName", + "sources" + ], + "path": "people.people.get", + "signature": "ctx.applications[\"google-workspace\"].people().people.get(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "personFields", + "prettyPrint", + "quotaUser", + "requestMask.includeField", + "resourceNames", + "sources" + ], + "path": "people.people.getBatchGet", + "signature": "ctx.applications[\"google-workspace\"].people().people.getBatchGet(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.getBatchGet", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "mergeSources", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "readMask", + "requestSyncToken", + "sources", + "syncToken" + ], + "path": "people.people.listDirectoryPeople", + "signature": "ctx.applications[\"google-workspace\"].people().people.listDirectoryPeople(input?: object): Promise", + "summary": "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](/people/v1/directory#list_the_directory_people_that_have_changed).", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.listDirectoryPeople", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "prettyPrint", + "query", + "quotaUser", + "readMask", + "sources" + ], + "path": "people.people.searchContacts", + "signature": "ctx.applications[\"google-workspace\"].people().people.searchContacts(input?: object): Promise", + "summary": "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", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.searchContacts", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "mergeSources", + "pageSize", + "pageToken", + "prettyPrint", + "query", + "quotaUser", + "readMask", + "sources" + ], + "path": "people.people.searchDirectoryPeople", + "signature": "ctx.applications[\"google-workspace\"].people().people.searchDirectoryPeople(input?: object): Promise", + "summary": "Provides a list of domain profiles and domain contacts in the authenticated user's domain directory that match the search query.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.searchDirectoryPeople", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "personFields", + "prettyPrint", + "quotaUser", + "resourceName", + "sources", + "updatePersonFields", + "requestBody" + ], + "path": "people.people.updateContact", + "signature": "ctx.applications[\"google-workspace\"].people().people.updateContact(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.updateContact", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "resourceName", + "requestBody" + ], + "path": "people.people.updateContactPhoto", + "signature": "ctx.applications[\"google-workspace\"].people().people.updateContactPhoto(input: object): Promise", + "summary": "Update a contact's photo. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.updateContactPhoto", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.batchUpdate", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.batchUpdate(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.batchUpdate", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "sheets.spreadsheets.create", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.create(input?: object): Promise", + "summary": "Creates a spreadsheet, returning the newly created spreadsheet.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.create", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "metadataId", + "prettyPrint", + "quotaUser", + "spreadsheetId" + ], + "path": "sheets.spreadsheets.developerMetadata.get", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.get(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/sheets/api/guides/metadata).", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.developerMetadata.search", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.search(input: object): Promise", + "summary": "Returns all developer metadata matching the specified DataFilter. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.search", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "excludeTablesInBandedRanges", + "fields", + "includeGridData", + "prettyPrint", + "quotaUser", + "ranges", + "spreadsheetId" + ], + "path": "sheets.spreadsheets.get", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.get(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/sheets/api/guides/field-masks) 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](https://developers.google.com/workspace/sheets/api/guides/concepts#cell). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.getByDataFilter", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.getByDataFilter(input: object): Promise", + "summary": "Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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](https://developers.google.com/workspace/sheets/api/guides/field-masks) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.getByDataFilter", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sheetId", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.sheets.copyTo", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.sheets.copyTo(input: object): Promise", + "summary": "Copies a single sheet from a spreadsheet to another spreadsheet. Returns the properties of the newly created sheet.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.sheets.copyTo", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "includeValuesInResponse", + "insertDataOption", + "prettyPrint", + "quotaUser", + "range", + "responseDateTimeRenderOption", + "responseValueRenderOption", + "spreadsheetId", + "valueInputOption", + "requestBody" + ], + "path": "sheets.spreadsheets.values.append", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.append(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/sheets/api/guides/values#appending_values) and [sample code](https://developers.google.com/workspace/sheets/api/samples/writing#append_values) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.append", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.values.batchClear", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClear(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClear", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.values.batchClearByDataFilter", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClearByDataFilter(input: object): Promise", + "summary": "Clears one or more ranges of values from a spreadsheet. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClearByDataFilter", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "dateTimeRenderOption", + "fields", + "majorDimension", + "prettyPrint", + "quotaUser", + "ranges", + "spreadsheetId", + "valueRenderOption" + ], + "path": "sheets.spreadsheets.values.batchGet", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGet(input: object): Promise", + "summary": "Returns one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGet", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.values.batchGetByDataFilter", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGetByDataFilter(input: object): Promise", + "summary": "Returns one or more ranges of values that match the specified data filters. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGetByDataFilter", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.values.batchUpdate", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdate(input: object): Promise", + "summary": "Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more ValueRanges.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdate", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.values.batchUpdateByDataFilter", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdateByDataFilter(input: object): Promise", + "summary": "Sets values in one or more ranges of a spreadsheet. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata). The caller must specify the spreadsheet ID, a valueInputOption, and one or more DataFilterValueRanges.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdateByDataFilter", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "range", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.values.clear", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.clear(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.clear", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "dateTimeRenderOption", + "fields", + "majorDimension", + "prettyPrint", + "quotaUser", + "range", + "spreadsheetId", + "valueRenderOption" + ], + "path": "sheets.spreadsheets.values.get", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.get(input: object): Promise", + "summary": "Returns a range of values from a spreadsheet. The caller must specify the spreadsheet ID and a range.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "includeValuesInResponse", + "prettyPrint", + "quotaUser", + "range", + "responseDateTimeRenderOption", + "responseValueRenderOption", + "spreadsheetId", + "valueInputOption", + "requestBody" + ], + "path": "sheets.spreadsheets.values.update", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.update(input: object): Promise", + "summary": "Sets values in a range of a spreadsheet. The caller must specify the spreadsheet ID, range, and a valueInputOption.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "presentationId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "slides.presentations.batchUpdate", + "signature": "ctx.applications[\"google-workspace\"].slides().presentations.batchUpdate(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].slides().presentations.batchUpdate", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "slides.presentations.create", + "signature": "ctx.applications[\"google-workspace\"].slides().presentations.create(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].slides().presentations.create", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "presentationId", + "prettyPrint", + "quotaUser" + ], + "path": "slides.presentations.get", + "signature": "ctx.applications[\"google-workspace\"].slides().presentations.get(input: object): Promise", + "summary": "Gets the latest version of the specified presentation.", + "callPrefix": "ctx.applications[\"google-workspace\"].slides().presentations.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageObjectId", + "presentationId", + "prettyPrint", + "quotaUser" + ], + "path": "slides.presentations.pages.get", + "signature": "ctx.applications[\"google-workspace\"].slides().presentations.pages.get(input: object): Promise", + "summary": "Gets the latest version of the specified page in the presentation.", + "callPrefix": "ctx.applications[\"google-workspace\"].slides().presentations.pages.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageObjectId", + "presentationId", + "prettyPrint", + "quotaUser", + "thumbnailProperties.mimeType", + "thumbnailProperties.thumbnailSize" + ], + "path": "slides.presentations.pages.getThumbnail", + "signature": "ctx.applications[\"google-workspace\"].slides().presentations.pages.getThumbnail(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/slides/limits) for quota purposes.", + "callPrefix": "ctx.applications[\"google-workspace\"].slides().presentations.pages.getThumbnail", + "output": "unknown" + } +]; + +//#endregion +//#region src/google-workspace.requests.generated.ts +const GOOGLE_WORKSPACE_REQUESTS = { + "drive": { + "baseUrl": "https://www.googleapis.com/drive/v3/", + "resources": { + "methods": {}, + "resources": { + "about": { + "methods": { "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "about", + "request": false + } }, + "resources": {} + }, + "accessproposals": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "proposalId": { + "location": "path", + "repeated": false, + "required": true + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/accessproposals/{proposalId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/accessproposals", + "request": false + }, + "resolve": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "proposalId": { + "location": "path", + "repeated": false, + "required": true + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/accessproposals/{proposalId}:resolve", + "request": true + } + }, + "resources": {} + }, + "approvals": { + "methods": { + "approve": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "approvalId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals/{approvalId}:approve", + "request": true + }, + "cancel": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "approvalId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals/{approvalId}:cancel", + "request": true + }, + "comment": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "approvalId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals/{approvalId}:comment", + "request": true + }, + "decline": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "approvalId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals/{approvalId}:decline", + "request": true + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "approvalId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals/{approvalId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals", + "request": false + }, + "reassign": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "approvalId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals/{approvalId}:reassign", + "request": true + }, + "start": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals:start", + "request": true + } + }, + "resources": {} + }, + "apps": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "appId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "apps/{appId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "appFilterExtensions": { + "location": "query", + "repeated": false, + "required": false + }, + "appFilterMimeTypes": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "languageCode": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "apps", + "request": false + } + }, + "resources": {} + }, + "changes": { + "methods": { + "getStartPageToken": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "changes/startPageToken", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeCorpusRemovals": { + "location": "query", + "repeated": false, + "required": false + }, + "includeItemsFromAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "includeRemoved": { + "location": "query", + "repeated": false, + "required": false + }, + "includeTeamDriveItems": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "restrictToMyDrive": { + "location": "query", + "repeated": false, + "required": false + }, + "spaces": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "changes", + "request": false + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeCorpusRemovals": { + "location": "query", + "repeated": false, + "required": false + }, + "includeItemsFromAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "includeRemoved": { + "location": "query", + "repeated": false, + "required": false + }, + "includeTeamDriveItems": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "restrictToMyDrive": { + "location": "query", + "repeated": false, + "required": false + }, + "spaces": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "changes/watch", + "request": true + } + }, + "resources": {} + }, + "channels": { + "methods": { "stop": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "channels/stop", + "request": true + } }, + "resources": {} + }, + "comments": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments/{commentId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments/{commentId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "startModifiedTime": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments", + "request": false + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments/{commentId}", + "request": true + } + }, + "resources": {} + }, + "drives": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestId": { + "location": "query", + "repeated": false, + "required": true + } + }, + "path": "drives", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "allowItemDeletion": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "drives/{driveId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "drives/{driveId}", + "request": false + }, + "hide": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "drives/{driveId}/hide", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "drives", + "request": false + }, + "unhide": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "drives/{driveId}/unhide", + "request": false + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "drives/{driveId}", + "request": true + } + }, + "resources": {} + }, + "files": { + "methods": { + "copy": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceSingleParent": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "ignoreDefaultVisibility": { + "location": "query", + "repeated": false, + "required": false + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "keepRevisionForever": { + "location": "query", + "repeated": false, + "required": false + }, + "ocrLanguage": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/copy", + "request": true + }, + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceSingleParent": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "ignoreDefaultVisibility": { + "location": "query", + "repeated": false, + "required": false + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "keepRevisionForever": { + "location": "query", + "repeated": false, + "required": false + }, + "ocrLanguage": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "useContentAsIndexableText": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files", + "request": true, + "uploadPath": "/upload/drive/v3/files" + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceSingleParent": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}", + "request": false + }, + "download": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "mimeType": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "revisionId": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/download", + "request": false + }, + "emptyTrash": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceSingleParent": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/trash", + "request": false + }, + "export": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "mimeType": { + "location": "query", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/export", + "request": false + }, + "generateCseToken": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/generateCseToken", + "request": false + }, + "generateIds": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "count": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "space": { + "location": "query", + "repeated": false, + "required": false + }, + "type": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/generateIds", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "acknowledgeAbuse": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "corpora": { + "location": "query", + "repeated": false, + "required": false + }, + "corpus": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeItemsFromAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "includeTeamDriveItems": { + "location": "query", + "repeated": false, + "required": false + }, + "orderBy": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spaces": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files", + "request": false + }, + "listLabels": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/listLabels", + "request": false + }, + "modifyLabels": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/modifyLabels", + "request": true + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "addParents": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceSingleParent": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "keepRevisionForever": { + "location": "query", + "repeated": false, + "required": false + }, + "ocrLanguage": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "removeParents": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "useContentAsIndexableText": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}", + "request": true, + "uploadPath": "/upload/drive/v3/files/{fileId}" + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "acknowledgeAbuse": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/watch", + "request": true + } + }, + "resources": {} + }, + "operations": { + "methods": { "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "operations/{name}", + "request": false + } }, + "resources": {} + }, + "permissions": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "emailMessage": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceExpansiveAccess": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceSingleParent": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "moveToNewOwnersRoot": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotificationEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "transferOwnership": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/permissions", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceExpansiveAccess": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "permissionId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/permissions/{permissionId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "permissionId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/permissions/{permissionId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/permissions", + "request": false + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceExpansiveAccess": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "permissionId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "removeExpiration": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "transferOwnership": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/permissions/{permissionId}", + "request": true + } + }, + "resources": {} + }, + "replies": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments/{commentId}/replies", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "replyId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "replyId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments/{commentId}/replies", + "request": false + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "replyId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", + "request": true + } + }, + "resources": {} + }, + "revisions": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "revisionId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "files/{fileId}/revisions/{revisionId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "acknowledgeAbuse": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "revisionId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "files/{fileId}/revisions/{revisionId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/revisions", + "request": false + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "revisionId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "files/{fileId}/revisions/{revisionId}", + "request": true + } + }, + "resources": {} + }, + "teamdrives": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestId": { + "location": "query", + "repeated": false, + "required": true + } + }, + "path": "teamdrives", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "teamdrives/{teamDriveId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "path", + "repeated": false, + "required": true + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "teamdrives/{teamDriveId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "teamdrives", + "request": false + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "path", + "repeated": false, + "required": true + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "teamdrives/{teamDriveId}", + "request": true + } + }, + "resources": {} + } + } + } + }, + "gmail": { + "baseUrl": "https://gmail.googleapis.com/", + "resources": { + "methods": {}, + "resources": { "users": { + "methods": { + "getProfile": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/profile", + "request": false + }, + "stop": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/stop", + "request": false + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/watch", + "request": true + } + }, + "resources": { + "drafts": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/drafts", + "request": true, + "uploadPath": "/upload/gmail/v1/users/{userId}/drafts" + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/drafts/{id}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "format": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/drafts/{id}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeSpamTrash": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/drafts", + "request": false + }, + "send": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/drafts/send", + "request": true, + "uploadPath": "/upload/gmail/v1/users/{userId}/drafts/send" + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/drafts/{id}", + "request": true, + "uploadPath": "/upload/gmail/v1/users/{userId}/drafts/{id}" + } + }, + "resources": {} + }, + "history": { + "methods": { "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "historyTypes": { + "location": "query", + "repeated": true, + "required": false + }, + "labelId": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "startHistoryId": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/history", + "request": false + } }, + "resources": {} + }, + "labels": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/labels", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/labels/{id}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/labels/{id}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/labels", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/labels/{id}", + "request": true + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/labels/{id}", + "request": true + } + }, + "resources": {} + }, + "messages": { + "methods": { + "batchDelete": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/batchDelete", + "request": true + }, + "batchModify": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/batchModify", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/{id}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "format": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "metadataHeaders": { + "location": "query", + "repeated": true, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/{id}", + "request": false + }, + "import": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "deleted": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "internalDateSource": { + "location": "query", + "repeated": false, + "required": false + }, + "neverMarkSpam": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "processForCalendar": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/import", + "request": true, + "uploadPath": "/upload/gmail/v1/users/{userId}/messages/import" + }, + "insert": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "deleted": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "internalDateSource": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages", + "request": true, + "uploadPath": "/upload/gmail/v1/users/{userId}/messages" + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeSpamTrash": { + "location": "query", + "repeated": false, + "required": false + }, + "labelIds": { + "location": "query", + "repeated": true, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages", + "request": false + }, + "modify": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/{id}/modify", + "request": true + }, + "send": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/send", + "request": true, + "uploadPath": "/upload/gmail/v1/users/{userId}/messages/send" + }, + "trash": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/{id}/trash", + "request": false + }, + "untrash": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/{id}/untrash", + "request": false + } + }, + "resources": { "attachments": { + "methods": { "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "messageId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/{messageId}/attachments/{id}", + "request": false + } }, + "resources": {} + } } + }, + "settings": { + "methods": { + "getAutoForwarding": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/autoForwarding", + "request": false + }, + "getImap": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/imap", + "request": false + }, + "getLanguage": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/language", + "request": false + }, + "getPop": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/pop", + "request": false + }, + "getVacation": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/vacation", + "request": false + }, + "updateAutoForwarding": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/autoForwarding", + "request": true + }, + "updateImap": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/imap", + "request": true + }, + "updateLanguage": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/language", + "request": true + }, + "updatePop": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/pop", + "request": true + }, + "updateVacation": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/vacation", + "request": true + } + }, + "resources": { + "cse": { + "methods": {}, + "resources": { + "identities": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/identities", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "cseEmailAddress": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/identities/{cseEmailAddress}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "cseEmailAddress": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/identities/{cseEmailAddress}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/identities", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "emailAddress": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/identities/{emailAddress}", + "request": true + } + }, + "resources": {} + }, + "keypairs": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "chainValidation": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/keypairs", + "request": true + }, + "disable": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "keyPairId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:disable", + "request": true + }, + "enable": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "keyPairId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:enable", + "request": true + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "keyPairId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/keypairs", + "request": false + }, + "obliterate": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "keyPairId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:obliterate", + "request": true + } + }, + "resources": {} + } + } + }, + "delegates": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/delegates", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "delegateEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/delegates/{delegateEmail}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "delegateEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/delegates/{delegateEmail}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/delegates", + "request": false + } + }, + "resources": {} + }, + "filters": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/filters", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/filters/{id}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/filters/{id}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/filters", + "request": false + } + }, + "resources": {} + }, + "forwardingAddresses": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/forwardingAddresses", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "forwardingEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "forwardingEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/forwardingAddresses", + "request": false + } + }, + "resources": {} + }, + "sendAs": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}", + "request": true + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}", + "request": true + }, + "verify": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/verify", + "request": false + } + }, + "resources": { "smimeInfo": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}", + "request": false + }, + "insert": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo", + "request": true + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo", + "request": false + }, + "setDefault": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault", + "request": false + } + }, + "resources": {} + } } + } + } + }, + "threads": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/threads/{id}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "format": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "metadataHeaders": { + "location": "query", + "repeated": true, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/threads/{id}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeSpamTrash": { + "location": "query", + "repeated": false, + "required": false + }, + "labelIds": { + "location": "query", + "repeated": true, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/threads", + "request": false + }, + "modify": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/threads/{id}/modify", + "request": true + }, + "trash": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/threads/{id}/trash", + "request": false + }, + "untrash": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/threads/{id}/untrash", + "request": false + } + }, + "resources": {} + } + } + } } + } + }, + "calendar": { + "baseUrl": "https://www.googleapis.com/calendar/v3/", + "resources": { + "methods": {}, + "resources": { + "acl": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "ruleId": { + "location": "path", + "repeated": false, + "required": true + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl/{ruleId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "ruleId": { + "location": "path", + "repeated": false, + "required": true + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl/{ruleId}", + "request": false + }, + "insert": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl", + "request": true + }, + "list": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "ruleId": { + "location": "path", + "repeated": false, + "required": true + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl/{ruleId}", + "request": true + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "ruleId": { + "location": "path", + "repeated": false, + "required": true + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl/{ruleId}", + "request": true + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl/watch", + "request": true + } + }, + "resources": {} + }, + "calendarList": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList/{calendarId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList/{calendarId}", + "request": false + }, + "insert": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "colorRgbFormat": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList", + "request": true + }, + "list": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "minAccessRole": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "showHidden": { + "location": "query", + "repeated": false, + "required": false + }, + "showOwnOrganizationOnly": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "colorRgbFormat": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList/{calendarId}", + "request": true + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "colorRgbFormat": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList/{calendarId}", + "request": true + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "minAccessRole": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "showHidden": { + "location": "query", + "repeated": false, + "required": false + }, + "showOwnOrganizationOnly": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList/watch", + "request": true + } + }, + "resources": {} + }, + "calendars": { + "methods": { + "clear": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/clear", + "request": false + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}", + "request": false + }, + "insert": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars", + "request": true + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}", + "request": true + }, + "transferOwnership": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "newDataOwner": { + "location": "query", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": true + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/transferOwnership", + "request": false + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}", + "request": true + } + }, + "resources": {} + }, + "channels": { + "methods": { "stop": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "channels/stop", + "request": true + } }, + "resources": {} + }, + "colors": { + "methods": { "get": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "colors", + "request": false + } }, + "resources": {} + }, + "events": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "sendUpdates": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/{eventId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "alwaysIncludeEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "timeZone": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/{eventId}", + "request": false + }, + "import": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "conferenceDataVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "eventLabelVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAttachments": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/import", + "request": true + }, + "insert": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "conferenceDataVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "eventLabelVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "sendUpdates": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAttachments": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events", + "request": true + }, + "instances": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "alwaysIncludeEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "originalStart": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "timeMax": { + "location": "query", + "repeated": false, + "required": false + }, + "timeMin": { + "location": "query", + "repeated": false, + "required": false + }, + "timeZone": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/{eventId}/instances", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "alwaysIncludeEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventTypes": { + "location": "query", + "repeated": true, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "iCalUID": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "orderBy": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "privateExtendedProperty": { + "location": "query", + "repeated": true, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sharedExtendedProperty": { + "location": "query", + "repeated": true, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "showHiddenInvitations": { + "location": "query", + "repeated": false, + "required": false + }, + "singleEvents": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "timeMax": { + "location": "query", + "repeated": false, + "required": false + }, + "timeMin": { + "location": "query", + "repeated": false, + "required": false + }, + "timeZone": { + "location": "query", + "repeated": false, + "required": false + }, + "updatedMin": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events", + "request": false + }, + "move": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "destination": { + "location": "query", + "repeated": false, + "required": true + }, + "eventId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "sendUpdates": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/{eventId}/move", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "alwaysIncludeEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "conferenceDataVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "eventId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventLabelVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "sendUpdates": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAttachments": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/{eventId}", + "request": true + }, + "quickAdd": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "sendUpdates": { + "location": "query", + "repeated": false, + "required": false + }, + "text": { + "location": "query", + "repeated": false, + "required": true + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/quickAdd", + "request": false + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "alwaysIncludeEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "conferenceDataVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "eventId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventLabelVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "sendUpdates": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAttachments": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/{eventId}", + "request": true + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "alwaysIncludeEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventTypes": { + "location": "query", + "repeated": true, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "iCalUID": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "orderBy": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "privateExtendedProperty": { + "location": "query", + "repeated": true, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sharedExtendedProperty": { + "location": "query", + "repeated": true, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "showHiddenInvitations": { + "location": "query", + "repeated": false, + "required": false + }, + "singleEvents": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "timeMax": { + "location": "query", + "repeated": false, + "required": false + }, + "timeMin": { + "location": "query", + "repeated": false, + "required": false + }, + "timeZone": { + "location": "query", + "repeated": false, + "required": false + }, + "updatedMin": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/watch", + "request": true + } + }, + "resources": {} + }, + "freebusy": { + "methods": { "query": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "freeBusy", + "request": true + } }, + "resources": {} + }, + "settings": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "setting": { + "location": "path", + "repeated": false, + "required": true + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/settings/{setting}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/settings", + "request": false + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/settings/watch", + "request": true + } + }, + "resources": {} + } + } + } + }, + "docs": { + "baseUrl": "https://docs.googleapis.com/", + "resources": { + "methods": {}, + "resources": { "documents": { + "methods": { + "batchUpdate": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "documentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/documents/{documentId}:batchUpdate", + "request": true + }, + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/documents", + "request": true + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "documentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeTabsContent": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "suggestionsViewMode": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/documents/{documentId}", + "request": false + } + }, + "resources": {} + } } + } + }, + "sheets": { + "baseUrl": "https://sheets.googleapis.com/", + "resources": { + "methods": {}, + "resources": { "spreadsheets": { + "methods": { + "batchUpdate": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}:batchUpdate", + "request": true + }, + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v4/spreadsheets", + "request": true + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "excludeTablesInBandedRanges": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeGridData": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "ranges": { + "location": "query", + "repeated": true, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}", + "request": false + }, + "getByDataFilter": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}:getByDataFilter", + "request": true + } + }, + "resources": { + "developerMetadata": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "metadataId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}", + "request": false + }, + "search": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/developerMetadata:search", + "request": true + } + }, + "resources": {} + }, + "sheets": { + "methods": { "copyTo": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sheetId": { + "location": "path", + "repeated": false, + "required": true + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo", + "request": true + } }, + "resources": {} + }, + "values": { + "methods": { + "append": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeValuesInResponse": { + "location": "query", + "repeated": false, + "required": false + }, + "insertDataOption": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "range": { + "location": "path", + "repeated": false, + "required": true + }, + "responseDateTimeRenderOption": { + "location": "query", + "repeated": false, + "required": false + }, + "responseValueRenderOption": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + }, + "valueInputOption": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}:append", + "request": true + }, + "batchClear": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values:batchClear", + "request": true + }, + "batchClearByDataFilter": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter", + "request": true + }, + "batchGet": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "dateTimeRenderOption": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "majorDimension": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "ranges": { + "location": "query", + "repeated": true, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + }, + "valueRenderOption": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values:batchGet", + "request": false + }, + "batchGetByDataFilter": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter", + "request": true + }, + "batchUpdate": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values:batchUpdate", + "request": true + }, + "batchUpdateByDataFilter": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter", + "request": true + }, + "clear": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "range": { + "location": "path", + "repeated": false, + "required": true + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}:clear", + "request": true + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "dateTimeRenderOption": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "majorDimension": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "range": { + "location": "path", + "repeated": false, + "required": true + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + }, + "valueRenderOption": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}", + "request": false + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeValuesInResponse": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "range": { + "location": "path", + "repeated": false, + "required": true + }, + "responseDateTimeRenderOption": { + "location": "query", + "repeated": false, + "required": false + }, + "responseValueRenderOption": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + }, + "valueInputOption": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}", + "request": true + } + }, + "resources": {} + } + } + } } + } + }, + "slides": { + "baseUrl": "https://slides.googleapis.com/", + "resources": { + "methods": {}, + "resources": { "presentations": { + "methods": { + "batchUpdate": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "presentationId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/presentations/{presentationId}:batchUpdate", + "request": true + }, + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/presentations", + "request": true + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "presentationId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/presentations/{+presentationId}", + "request": false + } + }, + "resources": { "pages": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageObjectId": { + "location": "path", + "repeated": false, + "required": true + }, + "presentationId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/presentations/{presentationId}/pages/{pageObjectId}", + "request": false + }, + "getThumbnail": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageObjectId": { + "location": "path", + "repeated": false, + "required": true + }, + "presentationId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "thumbnailProperties.mimeType": { + "location": "query", + "repeated": false, + "required": false + }, + "thumbnailProperties.thumbnailSize": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail", + "request": false + } + }, + "resources": {} + } } + } } + } + }, + "chat": { + "baseUrl": "https://chat.googleapis.com/", + "resources": { + "methods": {}, + "resources": { + "customEmojis": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/customEmojis", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/customEmojis", + "request": false + } + }, + "resources": {} + }, + "media": { + "methods": { + "download": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/media/{+resourceName}", + "request": false + }, + "upload": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/attachments:upload", + "request": true, + "uploadPath": "/upload/v1/{+parent}/attachments:upload" + } + }, + "resources": {} + }, + "spaces": { + "methods": { + "completeImport": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}:completeImport", + "request": true + }, + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestId": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/spaces", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "findDirectMessage": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/spaces:findDirectMessage", + "request": false + }, + "findGroupChats": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spaceView": { + "location": "query", + "repeated": false, + "required": false + }, + "users": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/spaces:findGroupChats", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/spaces", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + }, + "search": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "orderBy": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "query": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/spaces:search", + "request": false + }, + "setup": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/spaces:setup", + "request": true + } + }, + "resources": { + "members": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/members", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showGroups": { + "location": "query", + "repeated": false, + "required": false + }, + "showInvited": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/members", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + } + }, + "resources": {} + }, + "messages": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "createMessageNotificationOptions.notificationType": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "messageId": { + "location": "query", + "repeated": false, + "required": false + }, + "messageReplyOption": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestId": { + "location": "query", + "repeated": false, + "required": false + }, + "threadKey": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/messages", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "force": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "markupSyntax": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "markupSyntax": { + "location": "query", + "repeated": false, + "required": false + }, + "orderBy": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/messages", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "allowMissing": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + }, + "search": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/messages:search", + "request": true + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "allowMissing": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + } + }, + "resources": { + "attachments": { + "methods": { "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + } }, + "resources": {} + }, + "reactions": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/reactions", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/reactions", + "request": false + } + }, + "resources": {} + } + } + }, + "spaceEvents": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/spaceEvents", + "request": false + } + }, + "resources": {} + } + } + }, + "users": { + "methods": {}, + "resources": { + "availability": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "markAsActive": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}:markAsActive", + "request": true + }, + "markAsAway": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}:markAsAway", + "request": true + }, + "markAsDoNotDisturb": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}:markAsDoNotDisturb", + "request": true + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + } + }, + "resources": {} + }, + "sections": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/sections", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/sections", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + }, + "position": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}:position", + "request": true + } + }, + "resources": { "items": { + "methods": { + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/items", + "request": false + }, + "move": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}:move", + "request": true + } + }, + "resources": {} + } } + }, + "spaces": { + "methods": { + "getSpaceReadState": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "updateSpaceReadState": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + } + }, + "resources": { + "spaceNotificationSetting": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + } + }, + "resources": {} + }, + "threads": { + "methods": { "getThreadReadState": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + } }, + "resources": {} + } + } + } + } + } + } + } + }, + "people": { + "baseUrl": "https://people.googleapis.com/", + "resources": { + "methods": {}, + "resources": { + "contactGroups": { + "methods": { + "batchGet": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "groupFields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxMembers": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceNames": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/contactGroups:batchGet", + "request": false + }, + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/contactGroups", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "deleteContacts": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "groupFields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxMembers": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "groupFields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/contactGroups", + "request": false + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}", + "request": true + } + }, + "resources": { "members": { + "methods": { "modify": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}/members:modify", + "request": true + } }, + "resources": {} + } } + }, + "otherContacts": { + "methods": { + "copyOtherContactToMyContactsGroup": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}:copyOtherContactToMyContactsGroup", + "request": true + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "readMask": { + "location": "query", + "repeated": false, + "required": false + }, + "requestSyncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/otherContacts", + "request": false + }, + "search": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "query": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "readMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/otherContacts:search", + "request": false + } + }, + "resources": {} + }, + "people": { + "methods": { + "batchCreateContacts": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/people:batchCreateContacts", + "request": true + }, + "batchDeleteContacts": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/people:batchDeleteContacts", + "request": true + }, + "batchUpdateContacts": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/people:batchUpdateContacts", + "request": true + }, + "createContact": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "personFields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/people:createContact", + "request": true + }, + "deleteContact": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}:deleteContact", + "request": false + }, + "deleteContactPhoto": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "personFields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/{+resourceName}:deleteContactPhoto", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "personFields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestMask.includeField": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/{+resourceName}", + "request": false + }, + "getBatchGet": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "personFields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestMask.includeField": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceNames": { + "location": "query", + "repeated": true, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/people:batchGet", + "request": false + }, + "listDirectoryPeople": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "mergeSources": { + "location": "query", + "repeated": true, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "readMask": { + "location": "query", + "repeated": false, + "required": false + }, + "requestSyncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/people:listDirectoryPeople", + "request": false + }, + "searchContacts": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "query": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "readMask": { + "location": "query", + "repeated": false, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/people:searchContacts", + "request": false + }, + "searchDirectoryPeople": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "mergeSources": { + "location": "query", + "repeated": true, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "query": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "readMask": { + "location": "query", + "repeated": false, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/people:searchDirectoryPeople", + "request": false + }, + "updateContact": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "personFields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + }, + "updatePersonFields": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+resourceName}:updateContact", + "request": true + }, + "updateContactPhoto": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}:updateContactPhoto", + "request": true + } + }, + "resources": { "connections": { + "methods": { "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "personFields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestMask.includeField": { + "location": "query", + "repeated": false, + "required": false + }, + "requestSyncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + }, + "sortOrder": { + "location": "query", + "repeated": false, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+resourceName}/connections", + "request": false + } }, + "resources": {} + } } + } + } + } + } +}; + +//#endregion +//#region src/google-workspace.ts +const RESPONSE_ERROR_LIMIT_BYTES = 64 * 1024; +const GOOGLE_WORKSPACE_APPLICATION_CARD = { + availability: "ready; native files", + id: GOOGLE_WORKSPACE_APPLICATION_ID, + name: "Google Workspace", + summary: "Drive, Gmail, Calendar, Docs, Sheets, Slides, Chat, and People with native Drive transfers." +}; +const GOOGLE_WORKSPACE_AUTH_REQUIREMENTS = { + binding: GOOGLE_WORKSPACE_APPLICATION_CARD.id, + origins: ["https://www.googleapis.com/"], + scopes: [ + "https://mail.google.com/", + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/chat.messages", + "https://www.googleapis.com/auth/chat.spaces", + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/contacts.readonly", + "https://www.googleapis.com/auth/directory.readonly", + "https://www.googleapis.com/auth/userinfo.profile" + ], + skillNames: [GOOGLE_WORKSPACE_APPLICATION_CARD.id] +}; +const GOOGLE_WORKSPACE_APPLICATION_FACE = { + card: GOOGLE_WORKSPACE_APPLICATION_CARD, + members: GOOGLE_WORKSPACE_MEMBER_INDEX, + relatedSkills: GOOGLE_WORKSPACE_AUTH_REQUIREMENTS.skillNames +}; +function installGoogleWorkspace(target, transport, workspace, services = GOOGLE_WORKSPACE_REQUESTS) { + const NativeBlob = Blob; + const NativeFile = File; + const NativeHeaders = Headers; + const NativeReadableStream = ReadableStream; + const NativeTextDecoder = TextDecoder; + const NativeURL = URL; + const nativeFetch = fetch; + const nativeJsonParse = JSON.parse; + const nativeJsonStringify = JSON.stringify; + let token; + const accessToken = (interactive) => { + if (!token) token = transport.__token(interactive).then((authorization) => { + if (!authorization.ok) throw new Error(`Google Workspace authentication is required; call await ctx.applications["${GOOGLE_WORKSPACE_APPLICATION_ID}"].authorize()`); + return authorization.token; + }).catch((error) => { + token = void 0; + throw error; + }); + return token; + }; + const readBoundedError = async (response) => { + if (!response.body) return response.statusText; + const decoder = new NativeTextDecoder(); + const reader = response.body.getReader(); + let text = ""; + let bytes = 0; + try { + for (;;) { + const { done, value } = await reader.read(); + if (done) break; + const remaining = RESPONSE_ERROR_LIMIT_BYTES - bytes; + if (remaining <= 0) break; + const chunk = value.byteLength > remaining ? value.subarray(0, remaining) : value; + bytes += chunk.byteLength; + text += decoder.decode(chunk, { stream: bytes < RESPONSE_ERROR_LIMIT_BYTES }); + if (bytes === RESPONSE_ERROR_LIMIT_BYTES) break; + } + text += decoder.decode(); + } finally { + await reader.cancel().catch(() => void 0); + } + return text || response.statusText || `Google Workspace request failed (${response.status})`; + }; + const authenticatedFetch = async (url, init) => { + const authorization = await accessToken(false); + const headers = new NativeHeaders(init.headers); + headers.set("authorization", `Bearer ${authorization}`); + const response = await nativeFetch(url, { + ...init, + headers + }); + if (response.status === 401) { + token = void 0; + await transport.__invalidateToken(authorization); + } + if (!response.ok) throw new Error(await readBoundedError(response)); + return response; + }; + const requestUrl = (service, method, input, path = method.path) => { + const used = /* @__PURE__ */ new Set(); + const renderedPath = path.replace(/\{(\+?)([^}]+)\}/gu, (_match, reserved, name) => { + const value = input[name]; + if (value === void 0 || value === null || value === "") throw new Error(`Google Workspace request requires ${name}`); + used.add(name); + const stringValue = String(value); + return reserved ? stringValue.split("/").map(encodeURIComponent).join("/") : encodeURIComponent(stringValue); + }); + const url = new NativeURL(renderedPath, service.baseUrl); + for (const [name, parameter] of Object.entries(method.parameters)) { + if (used.has(name)) continue; + const value = input[name]; + if (parameter.required && (value === void 0 || value === null || value === "")) throw new Error(`Google Workspace request requires ${name}`); + if (value === void 0 || value === null) continue; + used.add(name); + if (parameter.location !== "query") continue; + if (parameter.repeated && Array.isArray(value)) for (const item of value) url.searchParams.append(name, String(item)); + else url.searchParams.append(name, String(value)); + } + for (const name of Object.keys(input)) if (name !== "requestBody" && !used.has(name)) throw new Error(`Google Workspace request does not accept ${name}`); + return url.href; + }; + const send = async (service, method, input) => { + const body = method.request && input.requestBody !== void 0 ? nativeJsonStringify(input.requestBody) : void 0; + return authenticatedFetch(requestUrl(service, method, input), { + body, + headers: body === void 0 ? void 0 : { "content-type": "application/json" }, + method: method.httpMethod + }); + }; + const invoke = async (service, method, input = {}) => { + const response = await send(service, method, input); + if (response.status === 204 || response.headers.get("content-length") === "0") return void 0; + if ((response.headers.get("content-type") ?? "").includes("json")) return nativeJsonParse(await response.text()); + return response.blob(); + }; + const buildResource = (service, resource) => { + const client = {}; + for (const [name, method] of Object.entries(resource.methods)) client[name] = (input) => invoke(service, method, input); + for (const [name, child] of Object.entries(resource.resources)) client[name] = buildResource(service, child); + return client; + }; + const namespace = { authorize: async () => { + await accessToken(true); + return { authorized: true }; + } }; + for (const [name, service] of Object.entries(services)) if (name !== "drive") namespace[name] = () => buildResource(service, service.resources); + const driveService = services.drive; + const drive = buildResource(driveService, driveService.resources); + const driveFiles = drive.files; + if (!driveFiles || typeof driveFiles !== "object") throw new Error("Google Drive files resource is missing"); + namespace.drive = () => drive; + const createFile = driveService.resources.resources.files.methods.create; + const getFile = driveService.resources.resources.files.methods.get; + Object.assign(driveFiles, { + async upload(input) { + const { file, ...requestInput } = input; + if (!(file instanceof NativeFile)) throw new Error("drive.files.upload requires a native File"); + const boundary = `rook-${crypto.randomUUID()}`; + const requestBody = requestInput.requestBody ?? { name: file.name }; + requestInput.fields ??= "id,name,mimeType,size,sha256Checksum"; + const body = new NativeBlob([ + `--${boundary}\r\nContent-Type: application/json; charset=UTF-8\r\n\r\n`, + nativeJsonStringify(requestBody), + `\r\n--${boundary}\r\nContent-Type: ${file.type || "application/octet-stream"}\r\n\r\n`, + file, + `\r\n--${boundary}--\r\n` + ]); + const url = new NativeURL(requestUrl(driveService, createFile, requestInput, createFile.uploadPath)); + url.searchParams.set("uploadType", "multipart"); + const response = await authenticatedFetch(url.href, { + body, + headers: { "content-type": `multipart/related; boundary=${boundary}` }, + method: createFile.httpMethod + }); + return nativeJsonParse(await response.text()); + }, + async downloadToWorkspace(input) { + const { path, sha256, ...requestInput } = input; + const response = await send(driveService, getFile, { + ...requestInput, + alt: "media" + }); + if (!(response.body instanceof NativeReadableStream)) throw new Error("Google Drive download returned an invalid response body"); + return workspace.writeStream({ + path: String(path), + stream: response.body, + ...typeof sha256 === "string" ? { expectedSha256: sha256 } : {} + }); + } + }); + Object.assign(target, namespace); + return target; +} + +//#endregion +export { GOOGLE_WORKSPACE_APPLICATION_CARD, GOOGLE_WORKSPACE_APPLICATION_FACE, GOOGLE_WORKSPACE_APPLICATION_ID, GOOGLE_WORKSPACE_AUTH_REQUIREMENTS, GOOGLE_WORKSPACE_MEMBER_INDEX, GOOGLE_WORKSPACE_REQUESTS, installGoogleWorkspace }; \ No newline at end of file diff --git a/package.json b/package.json index bfd6b77..6377efa 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,10 @@ "name": "@rook/google-workspace", "version": "0.1.0", "description": "Browser-native typed Google Workspace client and model skill for Rook", + "homepage": "https://github.com/WebMCP-org/rook-integrations#readme", + "bugs": { + "url": "https://github.com/WebMCP-org/rook-integrations/issues" + }, "license": "FSL-1.1-MIT", "repository": { "type": "git", @@ -9,24 +13,35 @@ }, "files": [ "discovery", + "dist", "skills", "src" ], "type": "module", "sideEffects": false, + "main": "./dist/google-workspace.js", + "types": "./dist/google-workspace.d.ts", "exports": { - ".": "./src/google-workspace.ts", - "./src/*": "./src/*" + ".": { + "types": "./dist/google-workspace.d.ts", + "import": "./dist/google-workspace.js", + "default": "./dist/google-workspace.js" + } }, "publishConfig": { "access": "public" }, "scripts": { - "check": "vp check && vp run typecheck && vp run test", + "build": "vp pack", + "check": "vp check && vp run typecheck && vp run test && vp run validate:package", "check:generated": "node scripts/generate-google-workspace.mjs --check", "generate": "node scripts/generate-google-workspace.mjs", - "test": "vp exec vitest run --config vitest.browser.config.ts", - "typecheck": "vp run check:generated && vp exec tsc --noEmit" + "prepublishOnly": "vp run validate:package", + "test": "vp run test:contract && vp run test:browser", + "test:browser": "vp exec vitest run --config vitest.browser.config.ts", + "test:contract": "vp exec vitest run test/google-workspace-application.contract.test.ts", + "typecheck": "vp run check:generated && vp exec tsc --noEmit", + "validate:package": "vp exec -- node scripts/validate-package.mjs" }, "devDependencies": { "@types/node": "24.10.4", diff --git a/scripts/generate-google-workspace.mjs b/scripts/generate-google-workspace.mjs index 0fa3030..07d7c6c 100644 --- a/scripts/generate-google-workspace.mjs +++ b/scripts/generate-google-workspace.mjs @@ -3,7 +3,20 @@ import { dirname, join } from "node:path"; import { fileURLToPath } from "node:url"; const root = join(dirname(fileURLToPath(import.meta.url)), ".."); -const outputPath = join(root, "src/google-workspace.generated.ts"); +const applicationId = "google-workspace"; +const applicationPath = `ctx.applications[${JSON.stringify(applicationId)}]`; +const header = `// Generated from the checked-in Google Discovery documents. Do not edit. +// Regenerate with: vp run generate + +`; +const unsafeCommonParameters = new Set([ + "access_token", + "callback", + "key", + "oauth_token", + "uploadType", + "upload_protocol", +]); const services = [ ["drive", "drive-v3.json"], ["gmail", "gmail-v1.json"], @@ -22,25 +35,29 @@ const documents = await Promise.all( ]), ); -const generated = `${header()}${documents.map(([name, document]) => types(name, document)).join("\n")} +const outputs = Object.entries({ + "google-workspace.generated.ts": `${header}export const GOOGLE_WORKSPACE_APPLICATION_ID = ${JSON.stringify(applicationId)}; + +${documents.map(([name, document]) => types(name, document)).join("\n")} ${workspaceType(documents)} -${runtimeCatalog(documents)} -`; +`, + "google-workspace.members.generated.ts": `${header}${memberIndex(documents)}\n`, + "google-workspace.requests.generated.ts": `${header}${runtimeCatalog(documents)}\n`, +}); -if (process.argv.includes("--check")) { - const current = await readFile(outputPath, "utf8").catch(() => ""); - if (current !== generated) { - console.error( - "Google Workspace generated client is stale; run vp run generate in packages/integrations.", - ); - process.exitCode = 1; +const checking = process.argv.includes("--check"); +const stale = []; +for (const [file, content] of outputs) { + const path = join(root, "src", file); + if (checking) { + if ((await readFile(path, "utf8").catch(() => "")) !== content) stale.push(file); + } else { + await writeFile(path, content); } -} else { - await writeFile(outputPath, generated); } - -function header() { - return `// Generated from the checked-in Google Discovery documents. Do not edit.\n// Regenerate with: vp run generate\n\n`; +if (stale.length > 0) { + console.error(`Stale Google Workspace artifacts: ${stale.join(", ")}; run vp run generate.`); + process.exitCode = 1; } function types(serviceName, document) { @@ -52,19 +69,12 @@ function types(serviceName, document) { } const methodTypes = []; - const client = resourceType( - document, - document, - namespace, - [], - methodTypes, - serviceName === "drive", - ); + const client = resourceType(document, document, namespace, [], methodTypes); lines.push(...methodTypes, ` export type Client = ${client};`, "}", ""); return lines.join("\n"); } -function resourceType(document, resource, namespace, path, methodTypes, addDriveFileHelpers) { +function resourceType(document, resource, namespace, path, methodTypes) { const members = []; for (const [methodName, method] of Object.entries(resource.methods ?? {}).sort(byKey)) { const typeName = `${path.map(pascal).join("")}${pascal(methodName)}Params`; @@ -80,10 +90,10 @@ function resourceType(document, resource, namespace, path, methodTypes, addDrive } for (const [resourceName, child] of Object.entries(resource.resources ?? {}).sort(byKey)) { members.push( - ` ${property(resourceName)}: ${resourceType(document, child, namespace, [...path, resourceName], methodTypes, addDriveFileHelpers)};`, + ` ${property(resourceName)}: ${resourceType(document, child, namespace, [...path, resourceName], methodTypes)};`, ); } - if (addDriveFileHelpers && path.join(".") === "files") { + if (namespace === "GoogleDrive" && path.join(".") === "files") { members.push( " /** Upload a native browser File without base64 or a model-visible byte body. */", " upload(input: DriveUploadInput): Promise;", @@ -99,10 +109,7 @@ function methodParams(document, namespace, typeName, method) { for (const [name, parameter] of methodParameters(document, method)) { comment(lines, parameter.description, " "); const optional = parameter.required ? "" : "?"; - const type = parameter.repeated - ? `Array<${discoveryType(parameter, namespace, " ")}>` - : discoveryType(parameter, namespace, " "); - lines.push(` ${property(name)}${optional}: ${type};`); + lines.push(` ${property(name)}${optional}: ${parameterType(parameter, namespace, " ")};`); } if (method.request?.$ref) { lines.push( @@ -115,20 +122,19 @@ function methodParams(document, namespace, typeName, method) { function schemaType(schema, namespace, indent) { if (schema.$ref) return `${namespace}.${pascal(schema.$ref)}`; if (schema.enum) return schema.enum.map((value) => JSON.stringify(value)).join(" | "); - if (schema.type === "array") - return `Array<${discoveryType(schema.items ?? {}, namespace, indent)}>`; + if (schema.type === "array") return `Array<${schemaType(schema.items ?? {}, namespace, indent)}>`; if (schema.type === "object" || schema.properties || schema.additionalProperties) { const required = new Set(schema.required ?? []); const properties = Object.entries(schema.properties ?? {}) .sort(byKey) .map(([name, value]) => { const description = jsdoc(value.description, `${indent} `); - return `${description}${indent} ${property(name)}${required.has(name) ? "" : "?"}: ${discoveryType(value, namespace, `${indent} `)};`; + return `${description}${indent} ${property(name)}${required.has(name) ? "" : "?"}: ${schemaType(value, namespace, `${indent} `)};`; }); const object = properties.length === 0 ? "Record" : `{\n${properties.join("\n")}\n${indent}}`; if (!schema.additionalProperties) return object; - const values = discoveryType(schema.additionalProperties, namespace, indent); + const values = schemaType(schema.additionalProperties, namespace, indent); return properties.length === 0 ? `Record` : `${object} & Record`; @@ -136,11 +142,6 @@ function schemaType(schema, namespace, indent) { return primitiveType(schema.type); } -function discoveryType(schema, namespace, indent) { - const value = schemaType(schema, namespace, indent); - return schema.type === "string" && schema.format === "byte" ? "string" : value; -} - function primitiveType(type) { switch (type) { case "boolean": @@ -150,9 +151,6 @@ function primitiveType(type) { return "number"; case "string": return "string"; - case "any": - case undefined: - return "unknown"; default: return "unknown"; } @@ -165,10 +163,7 @@ function workspaceType(documents) { const uploadParameters = methodParameters(drive, create) .map(([name, parameter]) => { const optional = parameter.required ? "" : "?"; - const type = parameter.repeated - ? `Array<${discoveryType(parameter, "GoogleDrive", " ")}>` - : discoveryType(parameter, "GoogleDrive", " "); - return ` ${property(name)}${optional}: ${type};`; + return ` ${property(name)}${optional}: ${parameterType(parameter, "GoogleDrive", " ")};`; }) .join("\n"); const factories = documents @@ -191,7 +186,13 @@ export type GoogleWorkspaceNamespace = { /** Request the employee's Google Workspace grant from Chrome Identity. */ authorize(): Promise<{ authorized: true }>; ${factories} -};`; +}; + +declare global { + interface ApplicationsNamespace { + ${JSON.stringify(applicationId)}: GoogleWorkspaceNamespace; + } +}`; } function runtimeCatalog(documents) { @@ -204,7 +205,72 @@ function runtimeCatalog(documents) { }, ]), ); - return `export const GOOGLE_WORKSPACE_SERVICES = ${JSON.stringify(catalog, null, 2)} as const;`; + return `export const GOOGLE_WORKSPACE_REQUESTS = ${JSON.stringify(catalog, null, 2)} as const;`; +} + +function memberIndex(documents) { + const members = [ + { + effect: "authorization", + inputNames: [], + path: "authorize", + signature: `${applicationPath}.authorize(): Promise<{ authorized: true }>`, + summary: "Request the employee's Google Workspace grant from Chrome Identity.", + }, + ]; + for (const [serviceName, document] of documents) { + collectMembers(document, document, [serviceName], members); + } + members.push( + { + effect: "write", + inputNames: ["file", "requestBody"], + path: "drive.files.upload", + signature: `${applicationPath}.drive().files.upload(input: DriveUploadInput): Promise`, + summary: "Upload a native browser File without base64 or a model-visible byte body.", + }, + { + effect: "read", + inputNames: ["acknowledgeAbuse", "fileId", "path", "sha256"], + path: "drive.files.downloadToWorkspace", + signature: `${applicationPath}.drive().files.downloadToWorkspace(input: DriveDownloadInput): Promise<{ path: string; sha256: string; size: number }>`, + summary: "Stream Drive bytes directly into an atomically published workspace path.", + }, + ); + members.sort((left, right) => left.path.localeCompare(right.path)); + const reflectedMembers = members.map((member) => ({ + ...member, + callPrefix: member.signature.slice(0, member.signature.lastIndexOf("(")), + output: /: Promise<(.+)>$/u.exec(member.signature)?.[1] ?? "unknown", + })); + return `import type { ApplicationMember } from "./application-face"; + +export type GoogleWorkspaceMember = ApplicationMember; + +export const GOOGLE_WORKSPACE_MEMBER_INDEX = ${JSON.stringify(reflectedMembers, null, 2)} as const satisfies readonly GoogleWorkspaceMember[];`; +} + +function collectMembers(document, resource, path, members) { + for (const [methodName, method] of Object.entries(resource.methods ?? {}).sort(byKey)) { + const inputNames = methodParameters(document, method).map(([name]) => name); + if (method.request?.$ref) inputNames.push("requestBody"); + const callPath = `${path[0]}()${path + .slice(1) + .map((part) => `.${part}`) + .join("")}.${methodName}`; + members.push({ + effect: ["GET", "HEAD"].includes(method.httpMethod) ? "read" : "write", + inputNames, + path: [...path, methodName].join("."), + signature: `${applicationPath}.${callPath}(input${hasRequiredInput(method) ? "" : "?"}: object): Promise`, + summary: String(method.description ?? `${method.httpMethod} ${method.path}`) + .replace(/\s+/gu, " ") + .trim(), + }); + } + for (const [resourceName, child] of Object.entries(resource.resources ?? {}).sort(byKey)) { + collectMembers(document, child, [...path, resourceName], members); + } } function runtimeResource(document, resource) { @@ -249,22 +315,21 @@ function hasRequiredInput(method) { } function methodParameters(document, method) { - const unsafeCommon = new Set([ - "access_token", - "callback", - "key", - "oauth_token", - "uploadType", - "upload_protocol", - ]); return Object.entries({ ...Object.fromEntries( - Object.entries(document.parameters ?? {}).filter(([name]) => !unsafeCommon.has(name)), + Object.entries(document.parameters ?? {}).filter( + ([name]) => !unsafeCommonParameters.has(name), + ), ), ...(method.parameters ?? {}), }).sort(byKey); } +function parameterType(parameter, namespace, indent) { + const type = schemaType(parameter, namespace, indent); + return parameter.repeated ? `Array<${type}>` : type; +} + function comment(lines, value, indent) { if (value) lines.push(jsdoc(value, indent).trimEnd()); } diff --git a/scripts/validate-package.mjs b/scripts/validate-package.mjs new file mode 100644 index 0000000..63debeb --- /dev/null +++ b/scripts/validate-package.mjs @@ -0,0 +1,123 @@ +import { execFileSync } from "node:child_process"; +import { + existsSync, + mkdirSync, + mkdtempSync, + readFileSync, + readdirSync, + rmSync, + statSync, + writeFileSync, +} from "node:fs"; +import { tmpdir } from "node:os"; +import { dirname, join, resolve } from "node:path"; +import { fileURLToPath } from "node:url"; + +const root = resolve(dirname(fileURLToPath(import.meta.url)), ".."); +const dist = join(root, "dist"); +const requiredPackedFiles = [ + "dist/google-workspace.d.ts", + "dist/google-workspace.js", + "skills/google-workspace/SKILL.md", + "src/google-workspace.generated.ts", +]; + +const checkedInDist = snapshot(dist); +run("vp", ["pack"], root); +const builtDist = snapshot(dist); +if ( + checkedInDist.size !== builtDist.size || + [...checkedInDist].some(([path, contents]) => { + const built = builtDist.get(path); + return !built || !contents.equals(built); + }) +) { + throw new Error("dist is stale; run `vp run build` and include the generated artifact"); +} + +const temporaryDirectory = mkdtempSync(join(tmpdir(), "rook-google-workspace-package-")); +try { + const [{ filename, files }] = JSON.parse( + execFileSync( + "npm", + ["pack", "--json", "--ignore-scripts", "--pack-destination", temporaryDirectory], + { cwd: root, encoding: "utf8" }, + ), + ); + const packedPaths = files.map((file) => file.path); + const missing = requiredPackedFiles.filter((path) => !packedPaths.includes(path)); + if (missing.length) throw new Error(`Packed package is missing: ${missing.join(", ")}`); + if (packedPaths.some((path) => path.endsWith(".map"))) { + throw new Error("Packed package unexpectedly contains source maps"); + } + + const consumer = join(temporaryDirectory, "consumer"); + mkdirSync(consumer); + writeFileSync( + join(consumer, "package.json"), + `${JSON.stringify({ name: "rook-package-consumer", private: true, type: "module" }, null, 2)}\n`, + ); + run( + "npm", + ["install", "--ignore-scripts", "--no-audit", "--no-fund", join(temporaryDirectory, filename)], + consumer, + ); + run( + process.execPath, + [ + "--input-type=module", + "--eval", + 'const google = await import("@rook/google-workspace"); if (google.GOOGLE_WORKSPACE_APPLICATION_ID !== "google-workspace" || typeof google.installGoogleWorkspace !== "function") throw new Error("Invalid root exports");', + ], + consumer, + ); + + const consumerSource = join(consumer, "consumer.ts"); + writeFileSync( + consumerSource, + `import { + GOOGLE_WORKSPACE_APPLICATION_ID, + installGoogleWorkspace, + type GoogleWorkspaceNamespace, +} from "@rook/google-workspace"; + +declare const applications: ApplicationsNamespace; +export const google: GoogleWorkspaceNamespace = applications[GOOGLE_WORKSPACE_APPLICATION_ID]; +export const install: typeof installGoogleWorkspace = installGoogleWorkspace; +`, + ); + run( + process.execPath, + [ + fileURLToPath(import.meta.resolve("typescript/lib/tsc.js")), + "--strict", + "--noEmit", + "--module", + "NodeNext", + "--moduleResolution", + "NodeNext", + "--target", + "ESNext", + "--lib", + "ESNext,DOM,DOM.Iterable,DOM.AsyncIterable", + consumerSource, + ], + consumer, + ); + console.log(`Packed package verified (${packedPaths.length} files).`); +} finally { + rmSync(temporaryDirectory, { force: true, recursive: true }); +} + +function run(command, args, cwd) { + execFileSync(command, args, { cwd, stdio: "inherit" }); +} + +function snapshot(directory) { + if (!existsSync(directory)) return new Map(); + return new Map( + readdirSync(directory, { recursive: true }) + .filter((path) => statSync(join(directory, path)).isFile()) + .map((path) => [path, readFileSync(join(directory, path))]), + ); +} diff --git a/skills/google-workspace/SKILL.md b/skills/google-workspace/SKILL.md index cd25fb5..5fe20ef 100644 --- a/skills/google-workspace/SKILL.md +++ b/skills/google-workspace/SKILL.md @@ -5,7 +5,7 @@ description: Use the built-in typed Google Workspace client for Drive, Gmail, Ca # Google Workspace -Use `ctx.google` as the only Google Workspace API surface. Its resources, +Use `ctx.applications["google-workspace"]` as the only Google Workspace API surface. Its resources, method names, parameters, and response shapes are generated from Google's Discovery documents. @@ -15,7 +15,7 @@ Normal calls reuse Chrome Identity's short-lived cached grant. If a call says authentication is required, request the grant once and retry explicitly: ```js -await ctx.google.authorize(); +await ctx.applications["google-workspace"].authorize(); ``` Do not ask for a Google MCP connection. A provider rejection is final for that @@ -25,34 +25,34 @@ call; never repeat a mutation through browser automation automatically. The service factories are synchronous: -- `ctx.google.drive()` -- `ctx.google.gmail()` -- `ctx.google.calendar()` -- `ctx.google.docs()` -- `ctx.google.sheets()` -- `ctx.google.slides()` -- `ctx.google.chat()` -- `ctx.google.people()` +- `ctx.applications["google-workspace"].drive()` +- `ctx.applications["google-workspace"].gmail()` +- `ctx.applications["google-workspace"].calendar()` +- `ctx.applications["google-workspace"].docs()` +- `ctx.applications["google-workspace"].sheets()` +- `ctx.applications["google-workspace"].slides()` +- `ctx.applications["google-workspace"].chat()` +- `ctx.applications["google-workspace"].people()` Methods use the official resource tree. Put JSON request bodies in `requestBody`; path and query parameters stay beside it. ```js -const recent = await ctx.google.drive().files.list({ +const recent = await ctx.applications["google-workspace"].drive().files.list({ fields: "nextPageToken,files(id,name,mimeType,modifiedTime,webViewLink)", orderBy: "modifiedTime desc", pageSize: 25, q: "trashed = false", }); -const events = await ctx.google.calendar().events.list({ +const events = await ctx.applications["google-workspace"].calendar().events.list({ calendarId: "primary", maxResults: 50, singleEvents: true, timeMin: new Date().toISOString(), }); -await ctx.google.docs().documents.batchUpdate({ +await ctx.applications["google-workspace"].docs().documents.batchUpdate({ documentId: "document-id", requestBody: { requests: [{ insertText: { endOfSegmentLocation: {}, text: "Status update\n" } }], @@ -72,14 +72,14 @@ atomic workspace download. ```js const file = await ctx.workspace.openFile({ path: "/reports/status.pdf" }); -const uploaded = await ctx.google.drive().files.upload({ +const uploaded = await ctx.applications["google-workspace"].drive().files.upload({ file, fields: "id,name,mimeType,size,sha256Checksum,webViewLink", requestBody: { name: file.name, parents: ["folder-id"] }, }); if (!uploaded.id) throw new Error("Drive returned no file ID"); -const local = await ctx.google.drive().files.downloadToWorkspace({ +const local = await ctx.applications["google-workspace"].drive().files.downloadToWorkspace({ fileId: uploaded.id, path: `/downloads/${uploaded.name ?? file.name}`, sha256: uploaded.sha256Checksum, diff --git a/src/application-face.ts b/src/application-face.ts new file mode 100644 index 0000000..ed2fcd8 --- /dev/null +++ b/src/application-face.ts @@ -0,0 +1,22 @@ +export type ApplicationCard = { + readonly availability: string; + readonly id: string; + readonly name: string; + readonly summary: string; +}; + +export type ApplicationMember = { + readonly callPrefix: string; + readonly effect: "authorization" | "read" | "write"; + readonly inputNames: readonly string[]; + readonly output: string; + readonly path: string; + readonly signature: string; + readonly summary: string; +}; + +export type CuratedApplicationFace = { + readonly card: ApplicationCard; + readonly members: readonly ApplicationMember[]; + readonly relatedSkills: readonly string[]; +}; diff --git a/src/google-workspace.generated.ts b/src/google-workspace.generated.ts index a3ec7fb..0ded6c1 100644 --- a/src/google-workspace.generated.ts +++ b/src/google-workspace.generated.ts @@ -1,6 +1,8 @@ // Generated from the checked-in Google Discovery documents. Do not edit. // Regenerate with: vp run generate +export const GOOGLE_WORKSPACE_APPLICATION_ID = "google-workspace"; + export namespace GoogleDrive { /** Information about the user, the user's Drive, and system capabilities. */ export type About = { @@ -17502,13297 +17504,9 @@ export type GoogleWorkspaceNamespace = { chat(): GoogleChat.Client; people(): GooglePeople.Client; }; -export const GOOGLE_WORKSPACE_SERVICES = { - "drive": { - "baseUrl": "https://www.googleapis.com/drive/v3/", - "resources": { - "methods": {}, - "resources": { - "about": { - "methods": { - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "about", - "request": false - } - }, - "resources": {} - }, - "accessproposals": { - "methods": { - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "proposalId": { - "location": "path", - "repeated": false, - "required": true - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/accessproposals/{proposalId}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/accessproposals", - "request": false - }, - "resolve": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "proposalId": { - "location": "path", - "repeated": false, - "required": true - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/accessproposals/{proposalId}:resolve", - "request": true - } - }, - "resources": {} - }, - "approvals": { - "methods": { - "approve": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "approvalId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/approvals/{approvalId}:approve", - "request": true - }, - "cancel": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "approvalId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/approvals/{approvalId}:cancel", - "request": true - }, - "comment": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "approvalId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/approvals/{approvalId}:comment", - "request": true - }, - "decline": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "approvalId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/approvals/{approvalId}:decline", - "request": true - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "approvalId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/approvals/{approvalId}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/approvals", - "request": false - }, - "reassign": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "approvalId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/approvals/{approvalId}:reassign", - "request": true - }, - "start": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/approvals:start", - "request": true - } - }, - "resources": {} - }, - "apps": { - "methods": { - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "appId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "apps/{appId}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "appFilterExtensions": { - "location": "query", - "repeated": false, - "required": false - }, - "appFilterMimeTypes": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "languageCode": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "apps", - "request": false - } - }, - "resources": {} - }, - "changes": { - "methods": { - "getStartPageToken": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "driveId": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "teamDriveId": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "changes/startPageToken", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "driveId": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "includeCorpusRemovals": { - "location": "query", - "repeated": false, - "required": false - }, - "includeItemsFromAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "includeLabels": { - "location": "query", - "repeated": false, - "required": false - }, - "includePermissionsForView": { - "location": "query", - "repeated": false, - "required": false - }, - "includeRemoved": { - "location": "query", - "repeated": false, - "required": false - }, - "includeTeamDriveItems": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "restrictToMyDrive": { - "location": "query", - "repeated": false, - "required": false - }, - "spaces": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "teamDriveId": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "changes", - "request": false - }, - "watch": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "driveId": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "includeCorpusRemovals": { - "location": "query", - "repeated": false, - "required": false - }, - "includeItemsFromAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "includeLabels": { - "location": "query", - "repeated": false, - "required": false - }, - "includePermissionsForView": { - "location": "query", - "repeated": false, - "required": false - }, - "includeRemoved": { - "location": "query", - "repeated": false, - "required": false - }, - "includeTeamDriveItems": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "restrictToMyDrive": { - "location": "query", - "repeated": false, - "required": false - }, - "spaces": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "teamDriveId": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "changes/watch", - "request": true - } - }, - "resources": {} - }, - "channels": { - "methods": { - "stop": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "channels/stop", - "request": true - } - }, - "resources": {} - }, - "comments": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/comments", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "commentId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/comments/{commentId}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "commentId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "includeDeleted": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/comments/{commentId}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "includeDeleted": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "startModifiedTime": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/comments", - "request": false - }, - "update": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "commentId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/comments/{commentId}", - "request": true - } - }, - "resources": {} - }, - "drives": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "requestId": { - "location": "query", - "repeated": false, - "required": true - } - }, - "path": "drives", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "allowItemDeletion": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "driveId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "useDomainAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "drives/{driveId}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "driveId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "useDomainAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "drives/{driveId}", - "request": false - }, - "hide": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "driveId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "drives/{driveId}/hide", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "q": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "useDomainAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "drives", - "request": false - }, - "unhide": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "driveId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "drives/{driveId}/unhide", - "request": false - }, - "update": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "driveId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "useDomainAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "drives/{driveId}", - "request": true - } - }, - "resources": {} - }, - "files": { - "methods": { - "copy": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "enforceSingleParent": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "ignoreDefaultVisibility": { - "location": "query", - "repeated": false, - "required": false - }, - "includeLabels": { - "location": "query", - "repeated": false, - "required": false - }, - "includePermissionsForView": { - "location": "query", - "repeated": false, - "required": false - }, - "keepRevisionForever": { - "location": "query", - "repeated": false, - "required": false - }, - "ocrLanguage": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/copy", - "request": true - }, - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "enforceSingleParent": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "ignoreDefaultVisibility": { - "location": "query", - "repeated": false, - "required": false - }, - "includeLabels": { - "location": "query", - "repeated": false, - "required": false - }, - "includePermissionsForView": { - "location": "query", - "repeated": false, - "required": false - }, - "keepRevisionForever": { - "location": "query", - "repeated": false, - "required": false - }, - "ocrLanguage": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "useContentAsIndexableText": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files", - "request": true, - "uploadPath": "/upload/drive/v3/files" - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "enforceSingleParent": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}", - "request": false - }, - "download": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "mimeType": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "revisionId": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/download", - "request": false - }, - "emptyTrash": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "driveId": { - "location": "query", - "repeated": false, - "required": false - }, - "enforceSingleParent": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/trash", - "request": false - }, - "export": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "mimeType": { - "location": "query", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/export", - "request": false - }, - "generateCseToken": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "query", - "repeated": false, - "required": false - }, - "parent": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/generateCseToken", - "request": false - }, - "generateIds": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "count": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "space": { - "location": "query", - "repeated": false, - "required": false - }, - "type": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/generateIds", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "acknowledgeAbuse": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "includeLabels": { - "location": "query", - "repeated": false, - "required": false - }, - "includePermissionsForView": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "corpora": { - "location": "query", - "repeated": false, - "required": false - }, - "corpus": { - "location": "query", - "repeated": false, - "required": false - }, - "driveId": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "includeItemsFromAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "includeLabels": { - "location": "query", - "repeated": false, - "required": false - }, - "includePermissionsForView": { - "location": "query", - "repeated": false, - "required": false - }, - "includeTeamDriveItems": { - "location": "query", - "repeated": false, - "required": false - }, - "orderBy": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "q": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "spaces": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "teamDriveId": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files", - "request": false - }, - "listLabels": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/listLabels", - "request": false - }, - "modifyLabels": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/modifyLabels", - "request": true - }, - "update": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "addParents": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "enforceSingleParent": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "includeLabels": { - "location": "query", - "repeated": false, - "required": false - }, - "includePermissionsForView": { - "location": "query", - "repeated": false, - "required": false - }, - "keepRevisionForever": { - "location": "query", - "repeated": false, - "required": false - }, - "ocrLanguage": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "removeParents": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "useContentAsIndexableText": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}", - "request": true, - "uploadPath": "/upload/drive/v3/files/{fileId}" - }, - "watch": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "acknowledgeAbuse": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "includeLabels": { - "location": "query", - "repeated": false, - "required": false - }, - "includePermissionsForView": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/watch", - "request": true - } - }, - "resources": {} - }, - "operations": { - "methods": { - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "operations/{name}", - "request": false - } - }, - "resources": {} - }, - "permissions": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "emailMessage": { - "location": "query", - "repeated": false, - "required": false - }, - "enforceExpansiveAccess": { - "location": "query", - "repeated": false, - "required": false - }, - "enforceSingleParent": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "moveToNewOwnersRoot": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendNotificationEmail": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "transferOwnership": { - "location": "query", - "repeated": false, - "required": false - }, - "useDomainAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/permissions", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "enforceExpansiveAccess": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "permissionId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "useDomainAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/permissions/{permissionId}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "permissionId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "useDomainAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/permissions/{permissionId}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "includePermissionsForView": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "useDomainAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/permissions", - "request": false - }, - "update": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "enforceExpansiveAccess": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "permissionId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "removeExpiration": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAllDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsTeamDrives": { - "location": "query", - "repeated": false, - "required": false - }, - "transferOwnership": { - "location": "query", - "repeated": false, - "required": false - }, - "useDomainAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/permissions/{permissionId}", - "request": true - } - }, - "resources": {} - }, - "replies": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "commentId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/comments/{commentId}/replies", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "commentId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "replyId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "commentId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "includeDeleted": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "replyId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "commentId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "includeDeleted": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/comments/{commentId}/replies", - "request": false - }, - "update": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "commentId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "replyId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", - "request": true - } - }, - "resources": {} - }, - "revisions": { - "methods": { - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "revisionId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "files/{fileId}/revisions/{revisionId}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "acknowledgeAbuse": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "revisionId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "files/{fileId}/revisions/{revisionId}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "files/{fileId}/revisions", - "request": false - }, - "update": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "fileId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "revisionId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "files/{fileId}/revisions/{revisionId}", - "request": true - } - }, - "resources": {} - }, - "teamdrives": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "requestId": { - "location": "query", - "repeated": false, - "required": true - } - }, - "path": "teamdrives", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "teamDriveId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "teamdrives/{teamDriveId}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "teamDriveId": { - "location": "path", - "repeated": false, - "required": true - }, - "useDomainAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "teamdrives/{teamDriveId}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "q": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "useDomainAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "teamdrives", - "request": false - }, - "update": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "teamDriveId": { - "location": "path", - "repeated": false, - "required": true - }, - "useDomainAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "teamdrives/{teamDriveId}", - "request": true - } - }, - "resources": {} - } - } - } - }, - "gmail": { - "baseUrl": "https://gmail.googleapis.com/", - "resources": { - "methods": {}, - "resources": { - "users": { - "methods": { - "getProfile": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/profile", - "request": false - }, - "stop": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/stop", - "request": false - }, - "watch": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/watch", - "request": true - } - }, - "resources": { - "drafts": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/drafts", - "request": true, - "uploadPath": "/upload/gmail/v1/users/{userId}/drafts" - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/drafts/{id}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "format": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/drafts/{id}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "includeSpamTrash": { - "location": "query", - "repeated": false, - "required": false - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "q": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/drafts", - "request": false - }, - "send": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/drafts/send", - "request": true, - "uploadPath": "/upload/gmail/v1/users/{userId}/drafts/send" - }, - "update": { - "httpMethod": "PUT", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/drafts/{id}", - "request": true, - "uploadPath": "/upload/gmail/v1/users/{userId}/drafts/{id}" - } - }, - "resources": {} - }, - "history": { - "methods": { - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "historyTypes": { - "location": "query", - "repeated": true, - "required": false - }, - "labelId": { - "location": "query", - "repeated": false, - "required": false - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "startHistoryId": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/history", - "request": false - } - }, - "resources": {} - }, - "labels": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/labels", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/labels/{id}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/labels/{id}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/labels", - "request": false - }, - "patch": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/labels/{id}", - "request": true - }, - "update": { - "httpMethod": "PUT", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/labels/{id}", - "request": true - } - }, - "resources": {} - }, - "messages": { - "methods": { - "batchDelete": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/messages/batchDelete", - "request": true - }, - "batchModify": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/messages/batchModify", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/messages/{id}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "format": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "metadataHeaders": { - "location": "query", - "repeated": true, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/messages/{id}", - "request": false - }, - "import": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "deleted": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "internalDateSource": { - "location": "query", - "repeated": false, - "required": false - }, - "neverMarkSpam": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "processForCalendar": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/messages/import", - "request": true, - "uploadPath": "/upload/gmail/v1/users/{userId}/messages/import" - }, - "insert": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "deleted": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "internalDateSource": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/messages", - "request": true, - "uploadPath": "/upload/gmail/v1/users/{userId}/messages" - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "includeSpamTrash": { - "location": "query", - "repeated": false, - "required": false - }, - "labelIds": { - "location": "query", - "repeated": true, - "required": false - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "q": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/messages", - "request": false - }, - "modify": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/messages/{id}/modify", - "request": true - }, - "send": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/messages/send", - "request": true, - "uploadPath": "/upload/gmail/v1/users/{userId}/messages/send" - }, - "trash": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/messages/{id}/trash", - "request": false - }, - "untrash": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/messages/{id}/untrash", - "request": false - } - }, - "resources": { - "attachments": { - "methods": { - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "messageId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/messages/{messageId}/attachments/{id}", - "request": false - } - }, - "resources": {} - } - } - }, - "settings": { - "methods": { - "getAutoForwarding": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/autoForwarding", - "request": false - }, - "getImap": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/imap", - "request": false - }, - "getLanguage": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/language", - "request": false - }, - "getPop": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/pop", - "request": false - }, - "getVacation": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/vacation", - "request": false - }, - "updateAutoForwarding": { - "httpMethod": "PUT", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/autoForwarding", - "request": true - }, - "updateImap": { - "httpMethod": "PUT", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/imap", - "request": true - }, - "updateLanguage": { - "httpMethod": "PUT", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/language", - "request": true - }, - "updatePop": { - "httpMethod": "PUT", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/pop", - "request": true - }, - "updateVacation": { - "httpMethod": "PUT", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/vacation", - "request": true - } - }, - "resources": { - "cse": { - "methods": {}, - "resources": { - "identities": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/cse/identities", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "cseEmailAddress": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/cse/identities/{cseEmailAddress}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "cseEmailAddress": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/cse/identities/{cseEmailAddress}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/cse/identities", - "request": false - }, - "patch": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "emailAddress": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/cse/identities/{emailAddress}", - "request": true - } - }, - "resources": {} - }, - "keypairs": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "chainValidation": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/cse/keypairs", - "request": true - }, - "disable": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "keyPairId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:disable", - "request": true - }, - "enable": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "keyPairId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:enable", - "request": true - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "keyPairId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/cse/keypairs", - "request": false - }, - "obliterate": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "keyPairId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:obliterate", - "request": true - } - }, - "resources": {} - } - } - }, - "delegates": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/delegates", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "delegateEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/delegates/{delegateEmail}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "delegateEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/delegates/{delegateEmail}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/delegates", - "request": false - } - }, - "resources": {} - }, - "filters": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/filters", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/filters/{id}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/filters/{id}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/filters", - "request": false - } - }, - "resources": {} - }, - "forwardingAddresses": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/forwardingAddresses", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "forwardingEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "forwardingEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/forwardingAddresses", - "request": false - } - }, - "resources": {} - }, - "sendAs": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/sendAs", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendAsEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendAsEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/sendAs", - "request": false - }, - "patch": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendAsEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}", - "request": true - }, - "update": { - "httpMethod": "PUT", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendAsEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}", - "request": true - }, - "verify": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendAsEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/verify", - "request": false - } - }, - "resources": { - "smimeInfo": { - "methods": { - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendAsEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendAsEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}", - "request": false - }, - "insert": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendAsEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo", - "request": true - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendAsEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo", - "request": false - }, - "setDefault": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendAsEmail": { - "location": "path", - "repeated": false, - "required": true - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault", - "request": false - } - }, - "resources": {} - } - } - } - } - }, - "threads": { - "methods": { - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/threads/{id}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "format": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "metadataHeaders": { - "location": "query", - "repeated": true, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/threads/{id}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "includeSpamTrash": { - "location": "query", - "repeated": false, - "required": false - }, - "labelIds": { - "location": "query", - "repeated": true, - "required": false - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "q": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/threads", - "request": false - }, - "modify": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/threads/{id}/modify", - "request": true - }, - "trash": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/threads/{id}/trash", - "request": false - }, - "untrash": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "id": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "gmail/v1/users/{userId}/threads/{id}/untrash", - "request": false - } - }, - "resources": {} - } - } - } - } - } - }, - "calendar": { - "baseUrl": "https://www.googleapis.com/calendar/v3/", - "resources": { - "methods": {}, - "resources": { - "acl": { - "methods": { - "delete": { - "httpMethod": "DELETE", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "ruleId": { - "location": "path", - "repeated": false, - "required": true - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/acl/{ruleId}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "ruleId": { - "location": "path", - "repeated": false, - "required": true - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/acl/{ruleId}", - "request": false - }, - "insert": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendNotifications": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/acl", - "request": true - }, - "list": { - "httpMethod": "GET", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "showDeleted": { - "location": "query", - "repeated": false, - "required": false - }, - "syncToken": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/acl", - "request": false - }, - "patch": { - "httpMethod": "PATCH", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "ruleId": { - "location": "path", - "repeated": false, - "required": true - }, - "sendNotifications": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/acl/{ruleId}", - "request": true - }, - "update": { - "httpMethod": "PUT", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "ruleId": { - "location": "path", - "repeated": false, - "required": true - }, - "sendNotifications": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/acl/{ruleId}", - "request": true - }, - "watch": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "showDeleted": { - "location": "query", - "repeated": false, - "required": false - }, - "syncToken": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/acl/watch", - "request": true - } - }, - "resources": {} - }, - "calendarList": { - "methods": { - "delete": { - "httpMethod": "DELETE", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "users/me/calendarList/{calendarId}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "users/me/calendarList/{calendarId}", - "request": false - }, - "insert": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "colorRgbFormat": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "users/me/calendarList", - "request": true - }, - "list": { - "httpMethod": "GET", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "minAccessRole": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "showDeleted": { - "location": "query", - "repeated": false, - "required": false - }, - "showHidden": { - "location": "query", - "repeated": false, - "required": false - }, - "showOwnOrganizationOnly": { - "location": "query", - "repeated": false, - "required": false - }, - "syncToken": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "users/me/calendarList", - "request": false - }, - "patch": { - "httpMethod": "PATCH", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "colorRgbFormat": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "users/me/calendarList/{calendarId}", - "request": true - }, - "update": { - "httpMethod": "PUT", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "colorRgbFormat": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "users/me/calendarList/{calendarId}", - "request": true - }, - "watch": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "minAccessRole": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "showDeleted": { - "location": "query", - "repeated": false, - "required": false - }, - "showHidden": { - "location": "query", - "repeated": false, - "required": false - }, - "showOwnOrganizationOnly": { - "location": "query", - "repeated": false, - "required": false - }, - "syncToken": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "users/me/calendarList/watch", - "request": true - } - }, - "resources": {} - }, - "calendars": { - "methods": { - "clear": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/clear", - "request": false - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}", - "request": false - }, - "insert": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars", - "request": true - }, - "patch": { - "httpMethod": "PATCH", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}", - "request": true - }, - "transferOwnership": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "newDataOwner": { - "location": "query", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "useAdminAccess": { - "location": "query", - "repeated": false, - "required": true - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/transferOwnership", - "request": false - }, - "update": { - "httpMethod": "PUT", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}", - "request": true - } - }, - "resources": {} - }, - "channels": { - "methods": { - "stop": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "channels/stop", - "request": true - } - }, - "resources": {} - }, - "colors": { - "methods": { - "get": { - "httpMethod": "GET", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "colors", - "request": false - } - }, - "resources": {} - }, - "events": { - "methods": { - "delete": { - "httpMethod": "DELETE", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "eventId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendNotifications": { - "location": "query", - "repeated": false, - "required": false - }, - "sendUpdates": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/events/{eventId}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "alwaysIncludeEmail": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "eventId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "maxAttendees": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "timeZone": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/events/{eventId}", - "request": false - }, - "import": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "conferenceDataVersion": { - "location": "query", - "repeated": false, - "required": false - }, - "eventLabelVersion": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAttachments": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/events/import", - "request": true - }, - "insert": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "conferenceDataVersion": { - "location": "query", - "repeated": false, - "required": false - }, - "eventLabelVersion": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "maxAttendees": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendNotifications": { - "location": "query", - "repeated": false, - "required": false - }, - "sendUpdates": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAttachments": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/events", - "request": true - }, - "instances": { - "httpMethod": "GET", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "alwaysIncludeEmail": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "eventId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "maxAttendees": { - "location": "query", - "repeated": false, - "required": false - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "originalStart": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "showDeleted": { - "location": "query", - "repeated": false, - "required": false - }, - "timeMax": { - "location": "query", - "repeated": false, - "required": false - }, - "timeMin": { - "location": "query", - "repeated": false, - "required": false - }, - "timeZone": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/events/{eventId}/instances", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "alwaysIncludeEmail": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "eventTypes": { - "location": "query", - "repeated": true, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "iCalUID": { - "location": "query", - "repeated": false, - "required": false - }, - "maxAttendees": { - "location": "query", - "repeated": false, - "required": false - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "orderBy": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "privateExtendedProperty": { - "location": "query", - "repeated": true, - "required": false - }, - "q": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sharedExtendedProperty": { - "location": "query", - "repeated": true, - "required": false - }, - "showDeleted": { - "location": "query", - "repeated": false, - "required": false - }, - "showHiddenInvitations": { - "location": "query", - "repeated": false, - "required": false - }, - "singleEvents": { - "location": "query", - "repeated": false, - "required": false - }, - "syncToken": { - "location": "query", - "repeated": false, - "required": false - }, - "timeMax": { - "location": "query", - "repeated": false, - "required": false - }, - "timeMin": { - "location": "query", - "repeated": false, - "required": false - }, - "timeZone": { - "location": "query", - "repeated": false, - "required": false - }, - "updatedMin": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/events", - "request": false - }, - "move": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "destination": { - "location": "query", - "repeated": false, - "required": true - }, - "eventId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendNotifications": { - "location": "query", - "repeated": false, - "required": false - }, - "sendUpdates": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/events/{eventId}/move", - "request": false - }, - "patch": { - "httpMethod": "PATCH", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "alwaysIncludeEmail": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "conferenceDataVersion": { - "location": "query", - "repeated": false, - "required": false - }, - "eventId": { - "location": "path", - "repeated": false, - "required": true - }, - "eventLabelVersion": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "maxAttendees": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendNotifications": { - "location": "query", - "repeated": false, - "required": false - }, - "sendUpdates": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAttachments": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/events/{eventId}", - "request": true - }, - "quickAdd": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendNotifications": { - "location": "query", - "repeated": false, - "required": false - }, - "sendUpdates": { - "location": "query", - "repeated": false, - "required": false - }, - "text": { - "location": "query", - "repeated": false, - "required": true - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/events/quickAdd", - "request": false - }, - "update": { - "httpMethod": "PUT", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "alwaysIncludeEmail": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "conferenceDataVersion": { - "location": "query", - "repeated": false, - "required": false - }, - "eventId": { - "location": "path", - "repeated": false, - "required": true - }, - "eventLabelVersion": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "maxAttendees": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sendNotifications": { - "location": "query", - "repeated": false, - "required": false - }, - "sendUpdates": { - "location": "query", - "repeated": false, - "required": false - }, - "supportsAttachments": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/events/{eventId}", - "request": true - }, - "watch": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "alwaysIncludeEmail": { - "location": "query", - "repeated": false, - "required": false - }, - "calendarId": { - "location": "path", - "repeated": false, - "required": true - }, - "eventTypes": { - "location": "query", - "repeated": true, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "iCalUID": { - "location": "query", - "repeated": false, - "required": false - }, - "maxAttendees": { - "location": "query", - "repeated": false, - "required": false - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "orderBy": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "privateExtendedProperty": { - "location": "query", - "repeated": true, - "required": false - }, - "q": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sharedExtendedProperty": { - "location": "query", - "repeated": true, - "required": false - }, - "showDeleted": { - "location": "query", - "repeated": false, - "required": false - }, - "showHiddenInvitations": { - "location": "query", - "repeated": false, - "required": false - }, - "singleEvents": { - "location": "query", - "repeated": false, - "required": false - }, - "syncToken": { - "location": "query", - "repeated": false, - "required": false - }, - "timeMax": { - "location": "query", - "repeated": false, - "required": false - }, - "timeMin": { - "location": "query", - "repeated": false, - "required": false - }, - "timeZone": { - "location": "query", - "repeated": false, - "required": false - }, - "updatedMin": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "calendars/{calendarId}/events/watch", - "request": true - } - }, - "resources": {} - }, - "freebusy": { - "methods": { - "query": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "freeBusy", - "request": true - } - }, - "resources": {} - }, - "settings": { - "methods": { - "get": { - "httpMethod": "GET", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "setting": { - "location": "path", - "repeated": false, - "required": true - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "users/me/settings/{setting}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "syncToken": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "users/me/settings", - "request": false - }, - "watch": { - "httpMethod": "POST", - "parameters": { - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "maxResults": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "syncToken": { - "location": "query", - "repeated": false, - "required": false - }, - "userIp": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "users/me/settings/watch", - "request": true - } - }, - "resources": {} - } - } - } - }, - "docs": { - "baseUrl": "https://docs.googleapis.com/", - "resources": { - "methods": {}, - "resources": { - "documents": { - "methods": { - "batchUpdate": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "documentId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/documents/{documentId}:batchUpdate", - "request": true - }, - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/documents", - "request": true - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "documentId": { - "location": "path", - "repeated": false, - "required": true - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "includeTabsContent": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "suggestionsViewMode": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/documents/{documentId}", - "request": false - } - }, - "resources": {} - } - } - } - }, - "sheets": { - "baseUrl": "https://sheets.googleapis.com/", - "resources": { - "methods": {}, - "resources": { - "spreadsheets": { - "methods": { - "batchUpdate": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v4/spreadsheets/{spreadsheetId}:batchUpdate", - "request": true - }, - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v4/spreadsheets", - "request": true - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "excludeTablesInBandedRanges": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "includeGridData": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "ranges": { - "location": "query", - "repeated": true, - "required": false - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v4/spreadsheets/{spreadsheetId}", - "request": false - }, - "getByDataFilter": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v4/spreadsheets/{spreadsheetId}:getByDataFilter", - "request": true - } - }, - "resources": { - "developerMetadata": { - "methods": { - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "metadataId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}", - "request": false - }, - "search": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v4/spreadsheets/{spreadsheetId}/developerMetadata:search", - "request": true - } - }, - "resources": {} - }, - "sheets": { - "methods": { - "copyTo": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sheetId": { - "location": "path", - "repeated": false, - "required": true - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo", - "request": true - } - }, - "resources": {} - }, - "values": { - "methods": { - "append": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "includeValuesInResponse": { - "location": "query", - "repeated": false, - "required": false - }, - "insertDataOption": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "range": { - "location": "path", - "repeated": false, - "required": true - }, - "responseDateTimeRenderOption": { - "location": "query", - "repeated": false, - "required": false - }, - "responseValueRenderOption": { - "location": "query", - "repeated": false, - "required": false - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - }, - "valueInputOption": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v4/spreadsheets/{spreadsheetId}/values/{range}:append", - "request": true - }, - "batchClear": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v4/spreadsheets/{spreadsheetId}/values:batchClear", - "request": true - }, - "batchClearByDataFilter": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter", - "request": true - }, - "batchGet": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "dateTimeRenderOption": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "majorDimension": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "ranges": { - "location": "query", - "repeated": true, - "required": false - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - }, - "valueRenderOption": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v4/spreadsheets/{spreadsheetId}/values:batchGet", - "request": false - }, - "batchGetByDataFilter": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter", - "request": true - }, - "batchUpdate": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v4/spreadsheets/{spreadsheetId}/values:batchUpdate", - "request": true - }, - "batchUpdateByDataFilter": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter", - "request": true - }, - "clear": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "range": { - "location": "path", - "repeated": false, - "required": true - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v4/spreadsheets/{spreadsheetId}/values/{range}:clear", - "request": true - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "dateTimeRenderOption": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "majorDimension": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "range": { - "location": "path", - "repeated": false, - "required": true - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - }, - "valueRenderOption": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v4/spreadsheets/{spreadsheetId}/values/{range}", - "request": false - }, - "update": { - "httpMethod": "PUT", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "includeValuesInResponse": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "range": { - "location": "path", - "repeated": false, - "required": true - }, - "responseDateTimeRenderOption": { - "location": "query", - "repeated": false, - "required": false - }, - "responseValueRenderOption": { - "location": "query", - "repeated": false, - "required": false - }, - "spreadsheetId": { - "location": "path", - "repeated": false, - "required": true - }, - "valueInputOption": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v4/spreadsheets/{spreadsheetId}/values/{range}", - "request": true - } - }, - "resources": {} - } - } - } - } - } - }, - "slides": { - "baseUrl": "https://slides.googleapis.com/", - "resources": { - "methods": {}, - "resources": { - "presentations": { - "methods": { - "batchUpdate": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "presentationId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/presentations/{presentationId}:batchUpdate", - "request": true - }, - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/presentations", - "request": true - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "presentationId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/presentations/{+presentationId}", - "request": false - } - }, - "resources": { - "pages": { - "methods": { - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "pageObjectId": { - "location": "path", - "repeated": false, - "required": true - }, - "presentationId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/presentations/{presentationId}/pages/{pageObjectId}", - "request": false - }, - "getThumbnail": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "pageObjectId": { - "location": "path", - "repeated": false, - "required": true - }, - "presentationId": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "thumbnailProperties.mimeType": { - "location": "query", - "repeated": false, - "required": false - }, - "thumbnailProperties.thumbnailSize": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail", - "request": false - } - }, - "resources": {} - } - } - } - } - } - }, - "chat": { - "baseUrl": "https://chat.googleapis.com/", - "resources": { - "methods": {}, - "resources": { - "customEmojis": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/customEmojis", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "filter": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/customEmojis", - "request": false - } - }, - "resources": {} - }, - "media": { - "methods": { - "download": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceName": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v1/media/{+resourceName}", - "request": false - }, - "upload": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "parent": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+parent}/attachments:upload", - "request": true, - "uploadPath": "/upload/v1/{+parent}/attachments:upload" - } - }, - "resources": {} - }, - "spaces": { - "methods": { - "completeImport": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}:completeImport", - "request": true - }, - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "requestId": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/spaces", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "useAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "findDirectMessage": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/spaces:findDirectMessage", - "request": false - }, - "findGroupChats": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "spaceView": { - "location": "query", - "repeated": false, - "required": false - }, - "users": { - "location": "query", - "repeated": true, - "required": false - } - }, - "path": "v1/spaces:findGroupChats", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "useAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "filter": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/spaces", - "request": false - }, - "patch": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "updateMask": { - "location": "query", - "repeated": false, - "required": false - }, - "useAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": true - }, - "search": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "orderBy": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "query": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "useAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/spaces:search", - "request": false - }, - "setup": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/spaces:setup", - "request": true - } - }, - "resources": { - "members": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "parent": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "useAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+parent}/members", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "useAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "useAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "filter": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "parent": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "showGroups": { - "location": "query", - "repeated": false, - "required": false - }, - "showInvited": { - "location": "query", - "repeated": false, - "required": false - }, - "useAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+parent}/members", - "request": false - }, - "patch": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "updateMask": { - "location": "query", - "repeated": false, - "required": false - }, - "useAdminAccess": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": true - } - }, - "resources": {} - }, - "messages": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "createMessageNotificationOptions.notificationType": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "messageId": { - "location": "query", - "repeated": false, - "required": false - }, - "messageReplyOption": { - "location": "query", - "repeated": false, - "required": false - }, - "parent": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "requestId": { - "location": "query", - "repeated": false, - "required": false - }, - "threadKey": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+parent}/messages", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "force": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "markupSyntax": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "filter": { - "location": "query", - "repeated": false, - "required": false - }, - "markupSyntax": { - "location": "query", - "repeated": false, - "required": false - }, - "orderBy": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "parent": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "showDeleted": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+parent}/messages", - "request": false - }, - "patch": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "allowMissing": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "updateMask": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": true - }, - "search": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "parent": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+parent}/messages:search", - "request": true - }, - "update": { - "httpMethod": "PUT", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "allowMissing": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "updateMask": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": true - } - }, - "resources": { - "attachments": { - "methods": { - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - } - }, - "resources": {} - }, - "reactions": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "parent": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+parent}/reactions", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "filter": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "parent": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+parent}/reactions", - "request": false - } - }, - "resources": {} - } - } - }, - "spaceEvents": { - "methods": { - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "filter": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "parent": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+parent}/spaceEvents", - "request": false - } - }, - "resources": {} - } - } - }, - "users": { - "methods": {}, - "resources": { - "availability": { - "methods": { - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "markAsActive": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}:markAsActive", - "request": true - }, - "markAsAway": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}:markAsAway", - "request": true - }, - "markAsDoNotDisturb": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}:markAsDoNotDisturb", - "request": true - }, - "patch": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "updateMask": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": true - } - }, - "resources": {} - }, - "sections": { - "methods": { - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "parent": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+parent}/sections", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "parent": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+parent}/sections", - "request": false - }, - "patch": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "updateMask": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": true - }, - "position": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}:position", - "request": true - } - }, - "resources": { - "items": { - "methods": { - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "filter": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "parent": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+parent}/items", - "request": false - }, - "move": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}:move", - "request": true - } - }, - "resources": {} - } - } - }, - "spaces": { - "methods": { - "getSpaceReadState": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "updateSpaceReadState": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "updateMask": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": true - } - }, - "resources": { - "spaceNotificationSetting": { - "methods": { - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - }, - "patch": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "updateMask": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": true - } - }, - "resources": {} - }, - "threads": { - "methods": { - "getThreadReadState": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "name": { - "location": "path", - "repeated": false, - "required": true - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+name}", - "request": false - } - }, - "resources": {} - } - } - } - } - } - } - } - }, - "people": { - "baseUrl": "https://people.googleapis.com/", - "resources": { - "methods": {}, - "resources": { - "contactGroups": { - "methods": { - "batchGet": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "groupFields": { - "location": "query", - "repeated": false, - "required": false - }, - "maxMembers": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceNames": { - "location": "query", - "repeated": true, - "required": false - } - }, - "path": "v1/contactGroups:batchGet", - "request": false - }, - "create": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/contactGroups", - "request": true - }, - "delete": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "deleteContacts": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceName": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v1/{+resourceName}", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "groupFields": { - "location": "query", - "repeated": false, - "required": false - }, - "maxMembers": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceName": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v1/{+resourceName}", - "request": false - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "groupFields": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "syncToken": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/contactGroups", - "request": false - }, - "update": { - "httpMethod": "PUT", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceName": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v1/{+resourceName}", - "request": true - } - }, - "resources": { - "members": { - "methods": { - "modify": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceName": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v1/{+resourceName}/members:modify", - "request": true - } - }, - "resources": {} - } - } - }, - "otherContacts": { - "methods": { - "copyOtherContactToMyContactsGroup": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceName": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v1/{+resourceName}:copyOtherContactToMyContactsGroup", - "request": true - }, - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "readMask": { - "location": "query", - "repeated": false, - "required": false - }, - "requestSyncToken": { - "location": "query", - "repeated": false, - "required": false - }, - "sources": { - "location": "query", - "repeated": true, - "required": false - }, - "syncToken": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/otherContacts", - "request": false - }, - "search": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "query": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "readMask": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/otherContacts:search", - "request": false - } - }, - "resources": {} - }, - "people": { - "methods": { - "batchCreateContacts": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/people:batchCreateContacts", - "request": true - }, - "batchDeleteContacts": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/people:batchDeleteContacts", - "request": true - }, - "batchUpdateContacts": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/people:batchUpdateContacts", - "request": true - }, - "createContact": { - "httpMethod": "POST", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "personFields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "sources": { - "location": "query", - "repeated": true, - "required": false - } - }, - "path": "v1/people:createContact", - "request": true - }, - "deleteContact": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceName": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v1/{+resourceName}:deleteContact", - "request": false - }, - "deleteContactPhoto": { - "httpMethod": "DELETE", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "personFields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceName": { - "location": "path", - "repeated": false, - "required": true - }, - "sources": { - "location": "query", - "repeated": true, - "required": false - } - }, - "path": "v1/{+resourceName}:deleteContactPhoto", - "request": false - }, - "get": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "personFields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "requestMask.includeField": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceName": { - "location": "path", - "repeated": false, - "required": true - }, - "sources": { - "location": "query", - "repeated": true, - "required": false - } - }, - "path": "v1/{+resourceName}", - "request": false - }, - "getBatchGet": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "personFields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "requestMask.includeField": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceNames": { - "location": "query", - "repeated": true, - "required": false - }, - "sources": { - "location": "query", - "repeated": true, - "required": false - } - }, - "path": "v1/people:batchGet", - "request": false - }, - "listDirectoryPeople": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "mergeSources": { - "location": "query", - "repeated": true, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "readMask": { - "location": "query", - "repeated": false, - "required": false - }, - "requestSyncToken": { - "location": "query", - "repeated": false, - "required": false - }, - "sources": { - "location": "query", - "repeated": true, - "required": false - }, - "syncToken": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/people:listDirectoryPeople", - "request": false - }, - "searchContacts": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "query": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "readMask": { - "location": "query", - "repeated": false, - "required": false - }, - "sources": { - "location": "query", - "repeated": true, - "required": false - } - }, - "path": "v1/people:searchContacts", - "request": false - }, - "searchDirectoryPeople": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "mergeSources": { - "location": "query", - "repeated": true, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "query": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "readMask": { - "location": "query", - "repeated": false, - "required": false - }, - "sources": { - "location": "query", - "repeated": true, - "required": false - } - }, - "path": "v1/people:searchDirectoryPeople", - "request": false - }, - "updateContact": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "personFields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceName": { - "location": "path", - "repeated": false, - "required": true - }, - "sources": { - "location": "query", - "repeated": true, - "required": false - }, - "updatePersonFields": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+resourceName}:updateContact", - "request": true - }, - "updateContactPhoto": { - "httpMethod": "PATCH", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceName": { - "location": "path", - "repeated": false, - "required": true - } - }, - "path": "v1/{+resourceName}:updateContactPhoto", - "request": true - } - }, - "resources": { - "connections": { - "methods": { - "list": { - "httpMethod": "GET", - "parameters": { - "$.xgafv": { - "location": "query", - "repeated": false, - "required": false - }, - "alt": { - "location": "query", - "repeated": false, - "required": false - }, - "fields": { - "location": "query", - "repeated": false, - "required": false - }, - "pageSize": { - "location": "query", - "repeated": false, - "required": false - }, - "pageToken": { - "location": "query", - "repeated": false, - "required": false - }, - "personFields": { - "location": "query", - "repeated": false, - "required": false - }, - "prettyPrint": { - "location": "query", - "repeated": false, - "required": false - }, - "quotaUser": { - "location": "query", - "repeated": false, - "required": false - }, - "requestMask.includeField": { - "location": "query", - "repeated": false, - "required": false - }, - "requestSyncToken": { - "location": "query", - "repeated": false, - "required": false - }, - "resourceName": { - "location": "path", - "repeated": false, - "required": true - }, - "sortOrder": { - "location": "query", - "repeated": false, - "required": false - }, - "sources": { - "location": "query", - "repeated": true, - "required": false - }, - "syncToken": { - "location": "query", - "repeated": false, - "required": false - } - }, - "path": "v1/{+resourceName}/connections", - "request": false - } - }, - "resources": {} - } - } - } - } - } + +declare global { + interface ApplicationsNamespace { + "google-workspace": GoogleWorkspaceNamespace; } -} as const; +} diff --git a/src/google-workspace.members.generated.ts b/src/google-workspace.members.generated.ts new file mode 100644 index 0000000..e1094e9 --- /dev/null +++ b/src/google-workspace.members.generated.ts @@ -0,0 +1,5163 @@ +// Generated from the checked-in Google Discovery documents. Do not edit. +// Regenerate with: vp run generate + +import type { ApplicationMember } from "./application-face"; + +export type GoogleWorkspaceMember = ApplicationMember; + +export const GOOGLE_WORKSPACE_MEMBER_INDEX = [ + { + "effect": "authorization", + "inputNames": [], + "path": "authorize", + "signature": "ctx.applications[\"google-workspace\"].authorize(): Promise<{ authorized: true }>", + "summary": "Request the employee's Google Workspace grant from Chrome Identity.", + "callPrefix": "ctx.applications[\"google-workspace\"].authorize", + "output": "{ authorized: true }" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "ruleId", + "userIp" + ], + "path": "calendar.acl.delete", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.delete(input: object): Promise", + "summary": "Deletes an access control rule.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "ruleId", + "userIp" + ], + "path": "calendar.acl.get", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.get(input: object): Promise", + "summary": "Returns an access control rule.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "sendNotifications", + "userIp", + "requestBody" + ], + "path": "calendar.acl.insert", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.insert(input: object): Promise", + "summary": "Creates an access control rule.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.insert", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "calendarId", + "fields", + "maxResults", + "pageToken", + "prettyPrint", + "quotaUser", + "showDeleted", + "syncToken", + "userIp" + ], + "path": "calendar.acl.list", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.list(input: object): Promise", + "summary": "Returns the rules in the access control list for the calendar.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "ruleId", + "sendNotifications", + "userIp", + "requestBody" + ], + "path": "calendar.acl.patch", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.patch(input: object): Promise", + "summary": "Updates an access control rule. This method supports patch semantics.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "ruleId", + "sendNotifications", + "userIp", + "requestBody" + ], + "path": "calendar.acl.update", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.update(input: object): Promise", + "summary": "Updates an access control rule.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "maxResults", + "pageToken", + "prettyPrint", + "quotaUser", + "showDeleted", + "syncToken", + "userIp", + "requestBody" + ], + "path": "calendar.acl.watch", + "signature": "ctx.applications[\"google-workspace\"].calendar().acl.watch(input: object): Promise", + "summary": "Watch for changes to ACL resources.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().acl.watch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp" + ], + "path": "calendar.calendarList.delete", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.delete(input: object): Promise", + "summary": "Removes a calendar from the user's calendar list.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp" + ], + "path": "calendar.calendarList.get", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.get(input: object): Promise", + "summary": "Returns a calendar from the user's calendar list.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "colorRgbFormat", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.calendarList.insert", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.insert(input?: object): Promise", + "summary": "Inserts an existing calendar into the user's calendar list.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.insert", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "fields", + "maxResults", + "minAccessRole", + "pageToken", + "prettyPrint", + "quotaUser", + "showDeleted", + "showHidden", + "showOwnOrganizationOnly", + "syncToken", + "userIp" + ], + "path": "calendar.calendarList.list", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.list(input?: object): Promise", + "summary": "Returns the calendars on the user's calendar list.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "colorRgbFormat", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.calendarList.patch", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.patch(input: object): Promise", + "summary": "Updates an existing calendar on the user's calendar list. This method supports patch semantics.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "colorRgbFormat", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.calendarList.update", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.update(input: object): Promise", + "summary": "Updates an existing calendar on the user's calendar list.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "fields", + "maxResults", + "minAccessRole", + "pageToken", + "prettyPrint", + "quotaUser", + "showDeleted", + "showHidden", + "showOwnOrganizationOnly", + "syncToken", + "userIp", + "requestBody" + ], + "path": "calendar.calendarList.watch", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendarList.watch(input?: object): Promise", + "summary": "Watch for changes to CalendarList resources.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendarList.watch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp" + ], + "path": "calendar.calendars.clear", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.clear(input: object): Promise", + "summary": "Clears a primary calendar. This operation deletes all events associated with the primary calendar of an account.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.clear", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp" + ], + "path": "calendar.calendars.delete", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.delete(input: object): Promise", + "summary": "Deletes a secondary calendar. Use calendars.clear for clearing all events on primary calendars.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp" + ], + "path": "calendar.calendars.get", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.get(input: object): Promise", + "summary": "Returns metadata for a calendar.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.calendars.insert", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.insert(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.insert", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.calendars.patch", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.patch(input: object): Promise", + "summary": "Updates metadata for a calendar. This method supports patch semantics.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "newDataOwner", + "prettyPrint", + "quotaUser", + "useAdminAccess", + "userIp" + ], + "path": "calendar.calendars.transferOwnership", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.transferOwnership(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.transferOwnership", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.calendars.update", + "signature": "ctx.applications[\"google-workspace\"].calendar().calendars.update(input: object): Promise", + "summary": "Updates metadata for a calendar.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().calendars.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.channels.stop", + "signature": "ctx.applications[\"google-workspace\"].calendar().channels.stop(input?: object): Promise", + "summary": "Stop watching resources through this channel", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().channels.stop", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userIp" + ], + "path": "calendar.colors.get", + "signature": "ctx.applications[\"google-workspace\"].calendar().colors.get(input?: object): Promise", + "summary": "Returns the color definitions for calendars and events.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().colors.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "eventId", + "fields", + "prettyPrint", + "quotaUser", + "sendNotifications", + "sendUpdates", + "userIp" + ], + "path": "calendar.events.delete", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.delete(input: object): Promise", + "summary": "Deletes an event.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "alwaysIncludeEmail", + "calendarId", + "eventId", + "fields", + "maxAttendees", + "prettyPrint", + "quotaUser", + "timeZone", + "userIp" + ], + "path": "calendar.events.get", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.get(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "conferenceDataVersion", + "eventLabelVersion", + "fields", + "prettyPrint", + "quotaUser", + "supportsAttachments", + "userIp", + "requestBody" + ], + "path": "calendar.events.import", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.import(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.import", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "conferenceDataVersion", + "eventLabelVersion", + "fields", + "maxAttendees", + "prettyPrint", + "quotaUser", + "sendNotifications", + "sendUpdates", + "supportsAttachments", + "userIp", + "requestBody" + ], + "path": "calendar.events.insert", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.insert(input: object): Promise", + "summary": "Creates an event.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.insert", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "alwaysIncludeEmail", + "calendarId", + "eventId", + "fields", + "maxAttendees", + "maxResults", + "originalStart", + "pageToken", + "prettyPrint", + "quotaUser", + "showDeleted", + "timeMax", + "timeMin", + "timeZone", + "userIp" + ], + "path": "calendar.events.instances", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.instances(input: object): Promise", + "summary": "Returns instances of the specified recurring event.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.instances", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "alwaysIncludeEmail", + "calendarId", + "eventTypes", + "fields", + "iCalUID", + "maxAttendees", + "maxResults", + "orderBy", + "pageToken", + "prettyPrint", + "privateExtendedProperty", + "q", + "quotaUser", + "sharedExtendedProperty", + "showDeleted", + "showHiddenInvitations", + "singleEvents", + "syncToken", + "timeMax", + "timeMin", + "timeZone", + "updatedMin", + "userIp" + ], + "path": "calendar.events.list", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.list(input: object): Promise", + "summary": "Returns events on the specified calendar.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "destination", + "eventId", + "fields", + "prettyPrint", + "quotaUser", + "sendNotifications", + "sendUpdates", + "userIp" + ], + "path": "calendar.events.move", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.move(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.move", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "alwaysIncludeEmail", + "calendarId", + "conferenceDataVersion", + "eventId", + "eventLabelVersion", + "fields", + "maxAttendees", + "prettyPrint", + "quotaUser", + "sendNotifications", + "sendUpdates", + "supportsAttachments", + "userIp", + "requestBody" + ], + "path": "calendar.events.patch", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.patch(input: object): Promise", + "summary": "Updates an event. This method supports patch semantics.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "calendarId", + "fields", + "prettyPrint", + "quotaUser", + "sendNotifications", + "sendUpdates", + "text", + "userIp" + ], + "path": "calendar.events.quickAdd", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.quickAdd(input: object): Promise", + "summary": "Creates an event based on a simple text string.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.quickAdd", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "alwaysIncludeEmail", + "calendarId", + "conferenceDataVersion", + "eventId", + "eventLabelVersion", + "fields", + "maxAttendees", + "prettyPrint", + "quotaUser", + "sendNotifications", + "sendUpdates", + "supportsAttachments", + "userIp", + "requestBody" + ], + "path": "calendar.events.update", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.update(input: object): Promise", + "summary": "Updates an event.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "alwaysIncludeEmail", + "calendarId", + "eventTypes", + "fields", + "iCalUID", + "maxAttendees", + "maxResults", + "orderBy", + "pageToken", + "prettyPrint", + "privateExtendedProperty", + "q", + "quotaUser", + "sharedExtendedProperty", + "showDeleted", + "showHiddenInvitations", + "singleEvents", + "syncToken", + "timeMax", + "timeMin", + "timeZone", + "updatedMin", + "userIp", + "requestBody" + ], + "path": "calendar.events.watch", + "signature": "ctx.applications[\"google-workspace\"].calendar().events.watch(input: object): Promise", + "summary": "Watch for changes to Events resources.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().events.watch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userIp", + "requestBody" + ], + "path": "calendar.freebusy.query", + "signature": "ctx.applications[\"google-workspace\"].calendar().freebusy.query(input?: object): Promise", + "summary": "Returns free/busy information for a set of calendars.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().freebusy.query", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "fields", + "prettyPrint", + "quotaUser", + "setting", + "userIp" + ], + "path": "calendar.settings.get", + "signature": "ctx.applications[\"google-workspace\"].calendar().settings.get(input: object): Promise", + "summary": "Returns a single user setting.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().settings.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "alt", + "fields", + "maxResults", + "pageToken", + "prettyPrint", + "quotaUser", + "syncToken", + "userIp" + ], + "path": "calendar.settings.list", + "signature": "ctx.applications[\"google-workspace\"].calendar().settings.list(input?: object): Promise", + "summary": "Returns all user settings for the authenticated user.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().settings.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "alt", + "fields", + "maxResults", + "pageToken", + "prettyPrint", + "quotaUser", + "syncToken", + "userIp", + "requestBody" + ], + "path": "calendar.settings.watch", + "signature": "ctx.applications[\"google-workspace\"].calendar().settings.watch(input?: object): Promise", + "summary": "Watch for changes to Settings resources.", + "callPrefix": "ctx.applications[\"google-workspace\"].calendar().settings.watch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.customEmojis.create", + "signature": "ctx.applications[\"google-workspace\"].chat().customEmojis.create(input?: object): Promise", + "summary": "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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().customEmojis.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.customEmojis.delete", + "signature": "ctx.applications[\"google-workspace\"].chat().customEmojis.delete(input: object): Promise", + "summary": "Deletes a custom emoji. By default, users can only delete custom emoji they created. [Emoji managers](https://support.google.com/a/answer/12850085) assigned by the administrator can delete any custom emoji in the organization. See [Learn about custom emojis in Google Chat](https://support.google.com/chat/answer/12800149). 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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().customEmojis.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.customEmojis.get", + "signature": "ctx.applications[\"google-workspace\"].chat().customEmojis.get(input: object): Promise", + "summary": "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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis.readonly` - `https://www.googleapis.com/auth/chat.customemojis`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().customEmojis.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "chat.customEmojis.list", + "signature": "ctx.applications[\"google-workspace\"].chat().customEmojis.list(input?: object): Promise", + "summary": "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](https://support.google.com/chat/answer/12800149) and [Manage custom emoji permissions](https://support.google.com/a/answer/12850085). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.customemojis.readonly` - `https://www.googleapis.com/auth/chat.customemojis`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().customEmojis.list", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "resourceName" + ], + "path": "chat.media.download", + "signature": "ctx.applications[\"google-workspace\"].chat().media.download(input: object): Promise", + "summary": "Downloads media. Download is supported on the URI `/v1/media/{+name}?alt=media`.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().media.download", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "parent", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.media.upload", + "signature": "ctx.applications[\"google-workspace\"].chat().media.upload(input: object): Promise", + "summary": "Uploads an attachment. For an example, see [Upload media as a file attachment](https://developers.google.com/workspace/chat/upload-media-attachments). Requires user [authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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](https://support.google.com/chat/answer/7651457?&co=GENIE.Platform%3DDesktop#File%20types%20blocked%20in%20Google%20Chat).", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().media.upload", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.spaces.completeImport", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.completeImport(input: object): Promise", + "summary": "Completes the [import process](https://developers.google.com/workspace/chat/import-data) for the specified space and makes it visible to users. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) and domain-wide delegation with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.import` For more information, see [Authorize Google Chat apps to import data](https://developers.google.com/workspace/chat/authorize-import).", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.completeImport", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestId", + "requestBody" + ], + "path": "chat.spaces.create", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.create(input?: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/create-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "useAdminAccess" + ], + "path": "chat.spaces.delete", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.delete(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/delete-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.delete` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.findDirectMessage", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.findDirectMessage(input?: object): Promise", + "summary": "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](/chat/api/guides/v1/spaces/find-direct-message). With [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app), returns the direct message space between the specified user and the calling Chat app. With [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user), returns the direct message space between the specified user and the authenticated user. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.spaces.readonly` - `https://www.googleapis.com/auth/chat.spaces`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.findDirectMessage", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "spaceView", + "users" + ], + "path": "chat.spaces.findGroupChats", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.findGroupChats(input?: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.memberships.readonly` - `https://www.googleapis.com/auth/chat.memberships`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.findGroupChats", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "useAdminAccess" + ], + "path": "chat.spaces.get", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.get(input: object): Promise", + "summary": "Returns details about a space. For an example, see [Get details about a space](https://developers.google.com/workspace/chat/get-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.list", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.list(input?: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/list-spaces). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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()`](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces/search) method using Workspace administrator privileges instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "parent", + "prettyPrint", + "quotaUser", + "useAdminAccess", + "requestBody" + ], + "path": "chat.spaces.members.create", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.members.create(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/create-members#create-user-membership). - [Invite or add a Google Group to a space](https://developers.google.com/workspace/chat/create-members#create-group-membership). - [Add the Chat app to a space](https://developers.google.com/workspace/chat/create-members#create-membership-calling-api).", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.members.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "useAdminAccess" + ], + "path": "chat.spaces.members.delete", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.members.delete(input: object): Promise", + "summary": "Deletes a membership. For an example, see [Remove a user or a Google Chat app from a space](https://developers.google.com/workspace/chat/delete-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) the Chat app must be the space creator.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.members.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "useAdminAccess" + ], + "path": "chat.spaces.members.get", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.members.get(input: object): Promise", + "summary": "Returns details about a membership. For an example, see [Get details about a user's or Google Chat app's membership](https://developers.google.com/workspace/chat/get-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth)) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.members.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "pageSize", + "pageToken", + "parent", + "prettyPrint", + "quotaUser", + "showGroups", + "showInvited", + "useAdminAccess" + ], + "path": "chat.spaces.members.list", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.members.list(input: object): Promise", + "summary": "Lists memberships in a space. For an example, see [List users and Google Chat apps in a space](https://developers.google.com/workspace/chat/list-members). Listing memberships with [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) lists memberships in spaces that the Chat app has access to, but excludes Chat app memberships, including its own. Listing memberships with [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) lists memberships in spaces that the authenticated user has access to. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://support.google.com/a?p=chat-app-auth)) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.members.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "useAdminAccess", + "requestBody" + ], + "path": "chat.spaces.members.patch", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.members.patch(input: object): Promise", + "summary": "Updates a membership. For an example, see [Update a user's membership in a space](https://developers.google.com/workspace/chat/update-members). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and the authorization scope: - `https://www.googleapis.com/auth/chat.app.memberships` (only in spaces the app created) - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.members.patch", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.messages.attachments.get", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.attachments.get(input: object): Promise", + "summary": "Gets the metadata of a message attachment. The attachment data is fetched using the [media API](https://developers.google.com/workspace/chat/api/reference/rest/v1/media/download). For an example, see [Get metadata about a message attachment](https://developers.google.com/workspace/chat/get-media-attachments). Requires [app authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.bot`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.attachments.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "createMessageNotificationOptions.notificationType", + "fields", + "messageId", + "messageReplyOption", + "parent", + "prettyPrint", + "quotaUser", + "requestId", + "threadKey", + "requestBody" + ], + "path": "chat.spaces.messages.create", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.create(input: object): Promise", + "summary": "Creates a message in a Google Chat space. For an example, see [Send a message](https://developers.google.com/workspace/chat/create-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/images/message-app-auth.svg) 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](https://developers.google.com/workspace/chat/images/message-user-auth.svg) The maximum message size, including the message contents, is 32,000 bytes. For [webhook](https://developers.google.com/workspace/chat/quickstart/webhooks) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "force", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.messages.delete", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.delete(input: object): Promise", + "summary": "Deletes a message. For an example, see [Delete a message](https://developers.google.com/workspace/chat/delete-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "markupSyntax", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.messages.get", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.get(input: object): Promise", + "summary": "Returns details about a message. For an example, see [Get details about a message](https://developers.google.com/workspace/chat/get-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) 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](https://developers.google.com/workspace/chat/slash-commands) that invoke the Chat app. - `https://www.googleapis.com/auth/chat.app.messages.readonly` with [administrator approval](https://support.google.com/a?p=chat-app-auth). When using this authentication scope, this method returns details about a public message in a space. - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "markupSyntax", + "orderBy", + "pageSize", + "pageToken", + "parent", + "prettyPrint", + "quotaUser", + "showDeleted" + ], + "path": "chat.spaces.messages.list", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.list(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/api/guides/v1/messages/list). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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)", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "allowMissing", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "requestBody" + ], + "path": "chat.spaces.messages.patch", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.patch(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/update-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "parent", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.spaces.messages.reactions.create", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.create(input: object): Promise", + "summary": "Creates a reaction and adds it to a message. For an example, see [Add a reaction to a message](https://developers.google.com/workspace/chat/create-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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)", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.messages.reactions.delete", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.delete(input: object): Promise", + "summary": "Deletes a reaction to a message. For an example, see [Delete a reaction](https://developers.google.com/workspace/chat/delete-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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)", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "pageSize", + "pageToken", + "parent", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.messages.reactions.list", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.list(input: object): Promise", + "summary": "Lists reactions to a message. For an example, see [List reactions for a message](https://developers.google.com/workspace/chat/list-reactions). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-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`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.reactions.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "parent", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.spaces.messages.search", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.search(input: object): Promise", + "summary": "Searches for messages in Google Chat that the calling user has access to. Returns a list of messages matching the search criteria. To search across all spaces the user has access to, set `parent` to `spaces/-`. Using any other value for `parent` results in an `INVALID_ARGUMENT` error. The returned messages have their `name` field populated with the full resource name, which includes the specific `space` in which the message resides. This API doesn't return all message types. The types of messages listed below aren't included in the response. Use ListMessages to list all messages. - Private Messages that are visible to the authenticated user. - Messages posted by Chat apps in spaces or group chats. - Messages in a Chat app DM. - Messages from blocked users. - Messages in spaces that the caller has muted. Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.messages.readonly` - `https://www.googleapis.com/auth/chat.messages`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.search", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "allowMissing", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "requestBody" + ], + "path": "chat.spaces.messages.update", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.messages.update(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/update-messages). Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with the authorization scope: - `https://www.googleapis.com/auth/chat.bot` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.messages.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "useAdminAccess", + "requestBody" + ], + "path": "chat.spaces.patch", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.patch(input: object): Promise", + "summary": "Updates a space. For an example, see [Update a space](https://developers.google.com/workspace/chat/update-spaces). 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](https://developers.google.com/workspace/chat/authenticate-authorize): - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) and one of the following authorization scopes: - `https://www.googleapis.com/auth/chat.app.spaces` - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.patch", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "orderBy", + "pageSize", + "pageToken", + "prettyPrint", + "query", + "quotaUser", + "useAdminAccess" + ], + "path": "chat.spaces.search", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.search(input?: object): Promise", + "summary": "Returns a list of spaces in a Google Workspace organization. For an example, see [Search for and manage spaces](https://developers.google.com/workspace/chat/search-manage-admin). 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`. Supports the following types of [authentication](https://developers.google.com/workspace/chat/authenticate-authorize): - [User authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user#admin-privileges) and one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.admin.spaces.readonly` - `https://www.googleapis.com/auth/chat.admin.spaces`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.search", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.spaces.setup", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.setup(input?: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/set-up-spaces). 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](https://cloud.google.com/identity/docs/reference/rest/v1/groups/lookup) 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](https://developers.google.com/workspace/chat/create-members). 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.spaces.create` - `https://www.googleapis.com/auth/chat.spaces`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.setup", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.spaceEvents.get", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.get(input: object): Promise", + "summary": "Returns an event from a Google Chat space. The [event payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_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](https://developers.google.com/workspace/chat/authenticate-authorize) with an [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes) appropriate for reading the requested data: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/get-space-event).", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "pageSize", + "pageToken", + "parent", + "prettyPrint", + "quotaUser" + ], + "path": "chat.spaces.spaceEvents.list", + "signature": "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.list(input: object): Promise", + "summary": "Lists events from a Google Chat space. For each event, the [payload](https://developers.google.com/workspace/chat/api/reference/rest/v1/spaces.spaceEvents#SpaceEvent.FIELDS.oneof_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](https://developers.google.com/workspace/chat/authenticate-authorize) with an [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes) appropriate for reading the requested data: - [App authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-app) with [administrator approval](https://support.google.com/a?p=chat-app-auth) 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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) 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](https://developers.google.com/workspace/chat/list-space-events).", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().spaces.spaceEvents.list", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.availability.get", + "signature": "ctx.applications[\"google-workspace\"].chat().users.availability.get(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability.readonly` - `https://www.googleapis.com/auth/chat.users.availability`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.availability.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.users.availability.markAsActive", + "signature": "ctx.applications[\"google-workspace\"].chat().users.availability.markAsActive(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.availability.markAsActive", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.users.availability.markAsAway", + "signature": "ctx.applications[\"google-workspace\"].chat().users.availability.markAsAway(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.availability.markAsAway", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.users.availability.markAsDoNotDisturb", + "signature": "ctx.applications[\"google-workspace\"].chat().users.availability.markAsDoNotDisturb(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.availability.markAsDoNotDisturb", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "requestBody" + ], + "path": "chat.users.availability.patch", + "signature": "ctx.applications[\"google-workspace\"].chat().users.availability.patch(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.availability`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.availability.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "parent", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.users.sections.create", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.create(input: object): Promise", + "summary": "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.sections.delete", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.delete(input: object): Promise", + "summary": "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "filter", + "pageSize", + "pageToken", + "parent", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.sections.items.list", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.items.list(input: object): Promise", + "summary": "Lists items in a section. Only spaces can be section items. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` - `https://www.googleapis.com/auth/chat.users.sections.readonly`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.items.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.users.sections.items.move", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.items.move(input: object): Promise", + "summary": "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.items.move", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "parent", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.sections.list", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.list(input: object): Promise", + "summary": "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](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections` - `https://www.googleapis.com/auth/chat.users.sections.readonly`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "requestBody" + ], + "path": "chat.users.sections.patch", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.patch(input: object): Promise", + "summary": "Updates a section. Only sections of type `CUSTOM_SECTION` can be updated. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "chat.users.sections.position", + "signature": "ctx.applications[\"google-workspace\"].chat().users.sections.position(input: object): Promise", + "summary": "Changes the sort order of a section. For details, see [Create and organize sections in Google Chat](https://support.google.com/chat/answer/16059854). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.sections`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.sections.position", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.spaces.getSpaceReadState", + "signature": "ctx.applications[\"google-workspace\"].chat().users.spaces.getSpaceReadState(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/get-space-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate.readonly` - `https://www.googleapis.com/auth/chat.users.readstate`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.spaces.getSpaceReadState", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.spaces.spaceNotificationSetting.get", + "signature": "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.get(input: object): Promise", + "summary": "Gets the space notification setting. For an example, see [Get the caller's space notification setting](https://developers.google.com/workspace/chat/get-space-notification-setting). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.spacesettings`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "requestBody" + ], + "path": "chat.users.spaces.spaceNotificationSetting.patch", + "signature": "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.patch(input: object): Promise", + "summary": "Updates the space notification setting. For an example, see [Update the caller's space notification setting](https://developers.google.com/workspace/chat/update-space-notification-setting). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.spacesettings`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.spaces.spaceNotificationSetting.patch", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "chat.users.spaces.threads.getThreadReadState", + "signature": "ctx.applications[\"google-workspace\"].chat().users.spaces.threads.getThreadReadState(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/get-thread-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with one of the following [authorization scopes](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate.readonly` - `https://www.googleapis.com/auth/chat.users.readstate`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.spaces.threads.getThreadReadState", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser", + "updateMask", + "requestBody" + ], + "path": "chat.users.spaces.updateSpaceReadState", + "signature": "ctx.applications[\"google-workspace\"].chat().users.spaces.updateSpaceReadState(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/chat/update-space-read-state). Requires [user authentication](https://developers.google.com/workspace/chat/authenticate-authorize-chat-user) with the [authorization scope](https://developers.google.com/workspace/chat/authenticate-authorize#chat-api-scopes): - `https://www.googleapis.com/auth/chat.users.readstate`", + "callPrefix": "ctx.applications[\"google-workspace\"].chat().users.spaces.updateSpaceReadState", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "documentId", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "docs.documents.batchUpdate", + "signature": "ctx.applications[\"google-workspace\"].docs().documents.batchUpdate(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].docs().documents.batchUpdate", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "docs.documents.create", + "signature": "ctx.applications[\"google-workspace\"].docs().documents.create(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].docs().documents.create", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "documentId", + "fields", + "includeTabsContent", + "prettyPrint", + "quotaUser", + "suggestionsViewMode" + ], + "path": "docs.documents.get", + "signature": "ctx.applications[\"google-workspace\"].docs().documents.get(input: object): Promise", + "summary": "Gets the latest version of the specified document.", + "callPrefix": "ctx.applications[\"google-workspace\"].docs().documents.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser" + ], + "path": "drive.about.get", + "signature": "ctx.applications[\"google-workspace\"].drive().about.get(input?: object): Promise", + "summary": "Gets information about the user, the user's Drive, and system capabilities. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().about.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "proposalId", + "quotaUser" + ], + "path": "drive.accessproposals.get", + "signature": "ctx.applications[\"google-workspace\"].drive().accessproposals.get(input: object): Promise", + "summary": "Retrieves an access proposal by ID. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().accessproposals.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "drive.accessproposals.list", + "signature": "ctx.applications[\"google-workspace\"].drive().accessproposals.list(input: object): Promise", + "summary": "List the access proposals on a file. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access). Note: Only approvers are able to list access proposals on a file. If the user isn't an approver, a 403 error is returned.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().accessproposals.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "proposalId", + "quotaUser", + "requestBody" + ], + "path": "drive.accessproposals.resolve", + "signature": "ctx.applications[\"google-workspace\"].drive().accessproposals.resolve(input: object): Promise", + "summary": "Approves or denies an access proposal. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().accessproposals.resolve", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "approvalId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.approvals.approve", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.approve(input: object): Promise", + "summary": "Approves an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.approve", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "approvalId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.approvals.cancel", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.cancel(input: object): Promise", + "summary": "Cancels an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.cancel", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "approvalId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.approvals.comment", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.comment(input: object): Promise", + "summary": "Comments on an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals). This sends a notification to both the initiator and the reviewers. Additionally, a message is also added to the approval activity log.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.comment", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "approvalId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.approvals.decline", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.decline(input: object): Promise", + "summary": "Declines an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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`.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.decline", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "approvalId", + "fields", + "fileId", + "prettyPrint", + "quotaUser" + ], + "path": "drive.approvals.get", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.get(input: object): Promise", + "summary": "Gets an approval by ID. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "drive.approvals.list", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.list(input: object): Promise", + "summary": "Lists the approvals on a file. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "approvalId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.approvals.reassign", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.reassign(input: object): Promise", + "summary": "Reassigns the reviewers on an approval. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/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.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.reassign", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.approvals.start", + "signature": "ctx.applications[\"google-workspace\"].drive().approvals.start(input: object): Promise", + "summary": "Starts an approval on a file. For more information, see [Manage approvals](https://developers.google.com/workspace/drive/api/guides/approvals).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().approvals.start", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "appId", + "fields", + "prettyPrint", + "quotaUser" + ], + "path": "drive.apps.get", + "signature": "ctx.applications[\"google-workspace\"].drive().apps.get(input: object): Promise", + "summary": "Gets a specific app. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().apps.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "appFilterExtensions", + "appFilterMimeTypes", + "fields", + "languageCode", + "prettyPrint", + "quotaUser" + ], + "path": "drive.apps.list", + "signature": "ctx.applications[\"google-workspace\"].drive().apps.list(input?: object): Promise", + "summary": "Lists a user's installed apps. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().apps.list", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "teamDriveId" + ], + "path": "drive.changes.getStartPageToken", + "signature": "ctx.applications[\"google-workspace\"].drive().changes.getStartPageToken(input?: object): Promise", + "summary": "Gets the starting pageToken for listing future changes. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().changes.getStartPageToken", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "includeCorpusRemovals", + "includeItemsFromAllDrives", + "includeLabels", + "includePermissionsForView", + "includeRemoved", + "includeTeamDriveItems", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "restrictToMyDrive", + "spaces", + "supportsAllDrives", + "supportsTeamDrives", + "teamDriveId" + ], + "path": "drive.changes.list", + "signature": "ctx.applications[\"google-workspace\"].drive().changes.list(input: object): Promise", + "summary": "Lists the changes for a user or shared drive. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().changes.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "includeCorpusRemovals", + "includeItemsFromAllDrives", + "includeLabels", + "includePermissionsForView", + "includeRemoved", + "includeTeamDriveItems", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "restrictToMyDrive", + "spaces", + "supportsAllDrives", + "supportsTeamDrives", + "teamDriveId", + "requestBody" + ], + "path": "drive.changes.watch", + "signature": "ctx.applications[\"google-workspace\"].drive().changes.watch(input: object): Promise", + "summary": "Subscribes to changes for a user. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().changes.watch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.channels.stop", + "signature": "ctx.applications[\"google-workspace\"].drive().channels.stop(input?: object): Promise", + "summary": "Stops watching resources through this channel. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().channels.stop", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.comments.create", + "signature": "ctx.applications[\"google-workspace\"].drive().comments.create(input: object): Promise", + "summary": "Creates a comment on a file. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().comments.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "prettyPrint", + "quotaUser" + ], + "path": "drive.comments.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().comments.delete(input: object): Promise", + "summary": "Deletes a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().comments.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "includeDeleted", + "prettyPrint", + "quotaUser" + ], + "path": "drive.comments.get", + "signature": "ctx.applications[\"google-workspace\"].drive().comments.get(input: object): Promise", + "summary": "Gets a comment by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().comments.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "includeDeleted", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "startModifiedTime" + ], + "path": "drive.comments.list", + "signature": "ctx.applications[\"google-workspace\"].drive().comments.list(input: object): Promise", + "summary": "Lists a file's comments. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().comments.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.comments.update", + "signature": "ctx.applications[\"google-workspace\"].drive().comments.update(input: object): Promise", + "summary": "Updates a comment with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments). Required: The `fields` parameter must be set. To return the exact fields you need, see [Return specific fields](https://developers.google.com/workspace/drive/api/guides/fields-parameter).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().comments.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestId", + "requestBody" + ], + "path": "drive.drives.create", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.create(input: object): Promise", + "summary": "Creates a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "allowItemDeletion", + "alt", + "driveId", + "fields", + "prettyPrint", + "quotaUser", + "useDomainAdminAccess" + ], + "path": "drive.drives.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.delete(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "prettyPrint", + "quotaUser", + "useDomainAdminAccess" + ], + "path": "drive.drives.get", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.get(input: object): Promise", + "summary": "Gets a shared drive's metadata by ID. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "prettyPrint", + "quotaUser" + ], + "path": "drive.drives.hide", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.hide(input: object): Promise", + "summary": "Hides a shared drive from the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.hide", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "prettyPrint", + "q", + "quotaUser", + "useDomainAdminAccess" + ], + "path": "drive.drives.list", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.list(input?: object): Promise", + "summary": "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](https://developers.google.com/workspace/drive/api/guides/search-shareddrives) guide.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "prettyPrint", + "quotaUser" + ], + "path": "drive.drives.unhide", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.unhide(input: object): Promise", + "summary": "Restores a shared drive to the default view. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.unhide", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "fields", + "prettyPrint", + "quotaUser", + "useDomainAdminAccess", + "requestBody" + ], + "path": "drive.drives.update", + "signature": "ctx.applications[\"google-workspace\"].drive().drives.update(input: object): Promise", + "summary": "Updates the metadata for a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().drives.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "enforceSingleParent", + "fields", + "fileId", + "ignoreDefaultVisibility", + "includeLabels", + "includePermissionsForView", + "keepRevisionForever", + "ocrLanguage", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "requestBody" + ], + "path": "drive.files.copy", + "signature": "ctx.applications[\"google-workspace\"].drive().files.copy(input: object): Promise", + "summary": "Creates a copy of a file and applies any requested updates with patch semantics. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.copy", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "enforceSingleParent", + "fields", + "ignoreDefaultVisibility", + "includeLabels", + "includePermissionsForView", + "keepRevisionForever", + "ocrLanguage", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "useContentAsIndexableText", + "requestBody" + ], + "path": "drive.files.create", + "signature": "ctx.applications[\"google-workspace\"].drive().files.create(input?: object): Promise", + "summary": "Creates a file. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file). 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](https://developers.google.com/workspace/drive/api/guides/mime-types).) For more information on uploading files, see [Upload file data](https://developers.google.com/workspace/drive/api/guides/manage-uploads). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "enforceSingleParent", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives" + ], + "path": "drive.files.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().files.delete(input: object): Promise", + "summary": "Permanently deletes a file owned by the user without moving it to the trash. For more information, see [Trash or delete files and folders](https://developers.google.com/workspace/drive/api/guides/delete). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.delete", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "mimeType", + "prettyPrint", + "quotaUser", + "revisionId" + ], + "path": "drive.files.download", + "signature": "ctx.applications[\"google-workspace\"].drive().files.download(input: object): Promise", + "summary": "Downloads the content of a file. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Operations are valid for 24 hours from the time of creation.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.download", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "acknowledgeAbuse", + "fileId", + "path", + "sha256" + ], + "path": "drive.files.downloadToWorkspace", + "signature": "ctx.applications[\"google-workspace\"].drive().files.downloadToWorkspace(input: DriveDownloadInput): Promise<{ path: string; sha256: string; size: number }>", + "summary": "Stream Drive bytes directly into an atomically published workspace path.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.downloadToWorkspace", + "output": "{ path: string; sha256: string; size: number }" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "driveId", + "enforceSingleParent", + "fields", + "prettyPrint", + "quotaUser" + ], + "path": "drive.files.emptyTrash", + "signature": "ctx.applications[\"google-workspace\"].drive().files.emptyTrash(input?: object): Promise", + "summary": "Permanently deletes all of the user's trashed files. For more information, see [Trash or delete files and folders](https://developers.google.com/workspace/drive/api/guides/delete).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.emptyTrash", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "mimeType", + "prettyPrint", + "quotaUser" + ], + "path": "drive.files.export", + "signature": "ctx.applications[\"google-workspace\"].drive().files.export(input: object): Promise", + "summary": "Exports a Google Workspace document to the requested MIME type and returns exported byte content. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads). Note that the exported content is limited to 10 MB.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.export", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "parent", + "prettyPrint", + "quotaUser" + ], + "path": "drive.files.generateCseToken", + "signature": "ctx.applications[\"google-workspace\"].drive().files.generateCseToken(input?: object): Promise", + "summary": "Generates a CSE token which can be used to create or update CSE files.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.generateCseToken", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "count", + "fields", + "prettyPrint", + "quotaUser", + "space", + "type" + ], + "path": "drive.files.generateIds", + "signature": "ctx.applications[\"google-workspace\"].drive().files.generateIds(input?: object): Promise", + "summary": "Generates a set of file IDs which can be provided in create or copy requests. For more information, see [Create and manage files](https://developers.google.com/workspace/drive/api/guides/create-file).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.generateIds", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "acknowledgeAbuse", + "alt", + "fields", + "fileId", + "includeLabels", + "includePermissionsForView", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives" + ], + "path": "drive.files.get", + "signature": "ctx.applications[\"google-workspace\"].drive().files.get(input: object): Promise", + "summary": "Gets a file's metadata or content by ID. For more information, see [Search for files and folders](https://developers.google.com/workspace/drive/api/guides/search-files). 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`](https://developers.google.com/workspace/drive/api/reference/rest/v3/files/export) instead. For more information, see [Download and export files](https://developers.google.com/workspace/drive/api/guides/manage-downloads).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "corpora", + "corpus", + "driveId", + "fields", + "includeItemsFromAllDrives", + "includeLabels", + "includePermissionsForView", + "includeTeamDriveItems", + "orderBy", + "pageSize", + "pageToken", + "prettyPrint", + "q", + "quotaUser", + "spaces", + "supportsAllDrives", + "supportsTeamDrives", + "teamDriveId" + ], + "path": "drive.files.list", + "signature": "ctx.applications[\"google-workspace\"].drive().files.list(input?: object): Promise", + "summary": "Lists the user's files. For more information, see [Search for files and folders](https://developers.google.com/workspace/drive/api/guides/search-files). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.list", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "maxResults", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "drive.files.listLabels", + "signature": "ctx.applications[\"google-workspace\"].drive().files.listLabels(input: object): Promise", + "summary": "Lists the labels on a file. For more information, see [List labels on a file](https://developers.google.com/workspace/drive/api/guides/list-labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.listLabels", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.files.modifyLabels", + "signature": "ctx.applications[\"google-workspace\"].drive().files.modifyLabels(input: object): Promise", + "summary": "Modifies the set of labels applied to a file. For more information, see [Set a label field on a file](https://developers.google.com/workspace/drive/api/guides/set-label). Returns a list of the labels that were added or modified.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.modifyLabels", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "addParents", + "alt", + "enforceSingleParent", + "fields", + "fileId", + "includeLabels", + "includePermissionsForView", + "keepRevisionForever", + "ocrLanguage", + "prettyPrint", + "quotaUser", + "removeParents", + "supportsAllDrives", + "supportsTeamDrives", + "useContentAsIndexableText", + "requestBody" + ], + "path": "drive.files.update", + "signature": "ctx.applications[\"google-workspace\"].drive().files.update(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/drive/api/guides/mime-types).) For more information on uploading files, see [Upload file data](https://developers.google.com/workspace/drive/api/guides/manage-uploads).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "file", + "requestBody" + ], + "path": "drive.files.upload", + "signature": "ctx.applications[\"google-workspace\"].drive().files.upload(input: DriveUploadInput): Promise", + "summary": "Upload a native browser File without base64 or a model-visible byte body.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.upload", + "output": "GoogleDrive.File" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "acknowledgeAbuse", + "alt", + "fields", + "fileId", + "includeLabels", + "includePermissionsForView", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "requestBody" + ], + "path": "drive.files.watch", + "signature": "ctx.applications[\"google-workspace\"].drive().files.watch(input: object): Promise", + "summary": "Subscribes to changes to a file. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().files.watch", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "name", + "prettyPrint", + "quotaUser" + ], + "path": "drive.operations.get", + "signature": "ctx.applications[\"google-workspace\"].drive().operations.get(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().operations.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "emailMessage", + "enforceExpansiveAccess", + "enforceSingleParent", + "fields", + "fileId", + "moveToNewOwnersRoot", + "prettyPrint", + "quotaUser", + "sendNotificationEmail", + "supportsAllDrives", + "supportsTeamDrives", + "transferOwnership", + "useDomainAdminAccess", + "requestBody" + ], + "path": "drive.permissions.create", + "signature": "ctx.applications[\"google-workspace\"].drive().permissions.create(input: object): Promise", + "summary": "Creates a permission for a file or shared drive. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().permissions.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "enforceExpansiveAccess", + "fields", + "fileId", + "permissionId", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "useDomainAdminAccess" + ], + "path": "drive.permissions.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().permissions.delete(input: object): Promise", + "summary": "Deletes a permission. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().permissions.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "permissionId", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "useDomainAdminAccess" + ], + "path": "drive.permissions.get", + "signature": "ctx.applications[\"google-workspace\"].drive().permissions.get(input: object): Promise", + "summary": "Gets a permission by ID. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().permissions.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "includePermissionsForView", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "supportsAllDrives", + "supportsTeamDrives", + "useDomainAdminAccess" + ], + "path": "drive.permissions.list", + "signature": "ctx.applications[\"google-workspace\"].drive().permissions.list(input: object): Promise", + "summary": "Lists a file's or shared drive's permissions. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().permissions.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "enforceExpansiveAccess", + "fields", + "fileId", + "permissionId", + "prettyPrint", + "quotaUser", + "removeExpiration", + "supportsAllDrives", + "supportsTeamDrives", + "transferOwnership", + "useDomainAdminAccess", + "requestBody" + ], + "path": "drive.permissions.update", + "signature": "ctx.applications[\"google-workspace\"].drive().permissions.update(input: object): Promise", + "summary": "Updates a permission with patch semantics. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing). **Warning:** Concurrent permissions operations on the same file aren't supported; only the last update is applied.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().permissions.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "drive.replies.create", + "signature": "ctx.applications[\"google-workspace\"].drive().replies.create(input: object): Promise", + "summary": "Creates a reply to a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().replies.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "replyId" + ], + "path": "drive.replies.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().replies.delete(input: object): Promise", + "summary": "Deletes a reply. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().replies.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "includeDeleted", + "prettyPrint", + "quotaUser", + "replyId" + ], + "path": "drive.replies.get", + "signature": "ctx.applications[\"google-workspace\"].drive().replies.get(input: object): Promise", + "summary": "Gets a reply by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().replies.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "includeDeleted", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "drive.replies.list", + "signature": "ctx.applications[\"google-workspace\"].drive().replies.list(input: object): Promise", + "summary": "Lists a comment's replies. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().replies.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "commentId", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "replyId", + "requestBody" + ], + "path": "drive.replies.update", + "signature": "ctx.applications[\"google-workspace\"].drive().replies.update(input: object): Promise", + "summary": "Updates a reply with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().replies.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "revisionId" + ], + "path": "drive.revisions.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().revisions.delete(input: object): Promise", + "summary": "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](https://developers.google.com/drive/api/guides/manage-revisions).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().revisions.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "acknowledgeAbuse", + "alt", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "revisionId" + ], + "path": "drive.revisions.get", + "signature": "ctx.applications[\"google-workspace\"].drive().revisions.get(input: object): Promise", + "summary": "Gets a revision's metadata or content by ID. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().revisions.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser" + ], + "path": "drive.revisions.list", + "signature": "ctx.applications[\"google-workspace\"].drive().revisions.list(input: object): Promise", + "summary": "Lists a file's revisions. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-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.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().revisions.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "fileId", + "prettyPrint", + "quotaUser", + "revisionId", + "requestBody" + ], + "path": "drive.revisions.update", + "signature": "ctx.applications[\"google-workspace\"].drive().revisions.update(input: object): Promise", + "summary": "Updates a revision with patch semantics. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions).", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().revisions.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestId", + "requestBody" + ], + "path": "drive.teamdrives.create", + "signature": "ctx.applications[\"google-workspace\"].drive().teamdrives.create(input: object): Promise", + "summary": "Deprecated: Use `drives.create` instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().teamdrives.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "teamDriveId" + ], + "path": "drive.teamdrives.delete", + "signature": "ctx.applications[\"google-workspace\"].drive().teamdrives.delete(input: object): Promise", + "summary": "Deprecated: Use `drives.delete` instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().teamdrives.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "teamDriveId", + "useDomainAdminAccess" + ], + "path": "drive.teamdrives.get", + "signature": "ctx.applications[\"google-workspace\"].drive().teamdrives.get(input: object): Promise", + "summary": "Deprecated: Use `drives.get` instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().teamdrives.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "prettyPrint", + "q", + "quotaUser", + "useDomainAdminAccess" + ], + "path": "drive.teamdrives.list", + "signature": "ctx.applications[\"google-workspace\"].drive().teamdrives.list(input?: object): Promise", + "summary": "Deprecated: Use `drives.list` instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().teamdrives.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "teamDriveId", + "useDomainAdminAccess", + "requestBody" + ], + "path": "drive.teamdrives.update", + "signature": "ctx.applications[\"google-workspace\"].drive().teamdrives.update(input: object): Promise", + "summary": "Deprecated: Use `drives.update` instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].drive().teamdrives.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.drafts.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.drafts.create(input: object): Promise", + "summary": "Creates a draft with the `DRAFT` label. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.drafts.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.drafts.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.drafts.delete(input: object): Promise", + "summary": "Immediately and permanently deletes the specified draft. Does not simply trash it. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.drafts.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "format", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.drafts.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.drafts.get(input: object): Promise", + "summary": "Gets the specified draft. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.drafts.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "includeSpamTrash", + "maxResults", + "pageToken", + "prettyPrint", + "q", + "quotaUser", + "userId" + ], + "path": "gmail.users.drafts.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.drafts.list(input: object): Promise", + "summary": "Lists the drafts in the user's mailbox. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.drafts.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.drafts.send", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.drafts.send(input: object): Promise", + "summary": "Sends the specified, existing draft to the recipients in the `To`, `Cc`, and `Bcc` headers. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.drafts.send", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.drafts.update", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.drafts.update(input: object): Promise", + "summary": "Replaces a draft's content. For more information, see [Create and send draft emails](https://developers.google.com/workspace/gmail/api/guides/drafts).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.drafts.update", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.getProfile", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.getProfile(input: object): Promise", + "summary": "Gets the current user's Gmail profile.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.getProfile", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "historyTypes", + "labelId", + "maxResults", + "pageToken", + "prettyPrint", + "quotaUser", + "startHistoryId", + "userId" + ], + "path": "gmail.users.history.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.history.list(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/sync).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.history.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.labels.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.labels.create(input: object): Promise", + "summary": "Creates a label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.labels.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.labels.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.labels.delete(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.labels.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.labels.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.labels.get(input: object): Promise", + "summary": "Gets the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.labels.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.labels.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.labels.list(input: object): Promise", + "summary": "Lists all labels in the user's mailbox. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.labels.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.labels.patch", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.labels.patch(input: object): Promise", + "summary": "Patch the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.labels.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.labels.update", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.labels.update(input: object): Promise", + "summary": "Updates the specified label. For more information, see [Manage labels](https://developers.google.com/workspace/gmail/api/guides/labels).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.labels.update", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "messageId", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.messages.attachments.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.attachments.get(input: object): Promise", + "summary": "Gets the specified message attachment.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.attachments.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.messages.batchDelete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.batchDelete(input: object): Promise", + "summary": "Deletes many messages by message ID. Provides no guarantees that messages were not already deleted or even existed at all.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.batchDelete", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.messages.batchModify", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.batchModify(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) to impersonate users with the `https://www.googleapis.com/auth/gmail.modify.restricted` scope.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.batchModify", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.messages.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.delete(input: object): Promise", + "summary": "Immediately and permanently deletes the specified message. This operation cannot be undone. Prefer `messages.trash` instead.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "format", + "id", + "metadataHeaders", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.messages.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.get(input: object): Promise", + "summary": "Gets the specified message.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "deleted", + "fields", + "internalDateSource", + "neverMarkSpam", + "prettyPrint", + "processForCalendar", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.messages.import", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.import(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.import", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "deleted", + "fields", + "internalDateSource", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.messages.insert", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.insert(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/sending).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.insert", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "includeSpamTrash", + "labelIds", + "maxResults", + "pageToken", + "prettyPrint", + "q", + "quotaUser", + "userId" + ], + "path": "gmail.users.messages.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.list(input: object): Promise", + "summary": "Lists the messages in the user's mailbox. For more information, see [List Gmail messages](https://developers.google.com/workspace/gmail/api/guides/list-messages).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.messages.modify", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.modify(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) to impersonate users with the `https://www.googleapis.com/auth/gmail.modify.restricted` scope.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.modify", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.messages.send", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.send(input: object): Promise", + "summary": "Sends the specified message to the recipients in the `To`, `Cc`, and `Bcc` headers. For more information, see [Create and send email messages](https://developers.google.com/workspace/gmail/api/guides/sending).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.send", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.messages.trash", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.trash(input: object): Promise", + "summary": "Moves the specified message to the trash.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.trash", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.messages.untrash", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.messages.untrash(input: object): Promise", + "summary": "Removes the specified message from the trash.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.messages.untrash", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.cse.identities.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.create(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "cseEmailAddress", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.cse.identities.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.delete(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "cseEmailAddress", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.cse.identities.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.get(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.cse.identities.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.list(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "emailAddress", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.cse.identities.patch", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.patch(input: object): Promise", + "summary": "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](https://support.google.com/a/answer/7300887). For administrators managing identities and keypairs for users in their organization, requests require authorization with a [service account](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.identities.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "chainValidation", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.cse.keypairs.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.create(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "keyPairId", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.cse.keypairs.disable", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.disable(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.disable", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "keyPairId", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.cse.keypairs.enable", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.enable(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.enable", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "keyPairId", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.cse.keypairs.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.get(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.cse.keypairs.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.list(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "keyPairId", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.cse.keypairs.obliterate", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.obliterate(input: object): Promise", + "summary": "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](https://developers.google.com/identity/protocols/OAuth2ServiceAccount) that has [domain-wide delegation authority](https://developers.google.com/identity/protocols/OAuth2ServiceAccount#delegatingauthority) 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](https://support.google.com/a/answer/14153163) turned on and configured.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.cse.keypairs.obliterate", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.delegates.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.create(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "delegateEmail", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.delegates.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.delete(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "delegateEmail", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.delegates.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.get(input: object): Promise", + "summary": "Gets the specified delegate. For more information, see [Manage delegates](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.delegates.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.list(input: object): Promise", + "summary": "Lists the delegates for the specified account. For more information, see [Manage delegates](https://developers.google.com/workspace/gmail/api/guides/delegate_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.delegates.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.filters.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.create(input: object): Promise", + "summary": "Creates a filter. Note: you can only create a maximum of 1,000 filters. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.filters.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.delete(input: object): Promise", + "summary": "Immediately and permanently deletes the specified filter. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.filters.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.get(input: object): Promise", + "summary": "Gets a filter. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.filters.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.list(input: object): Promise", + "summary": "Lists the message filters of a Gmail user. For more information, see [Manage Gmail filters](https://developers.google.com/workspace/gmail/api/guides/filter_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.filters.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.forwardingAddresses.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.create(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "forwardingEmail", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.forwardingAddresses.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.delete(input: object): Promise", + "summary": "Deletes the specified forwarding address and revokes any verification that may have been required. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "forwardingEmail", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.forwardingAddresses.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.get(input: object): Promise", + "summary": "Gets the specified forwarding address. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.forwardingAddresses.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.list(input: object): Promise", + "summary": "Lists the forwarding addresses for the specified account. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.forwardingAddresses.list", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.getAutoForwarding", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.getAutoForwarding(input: object): Promise", + "summary": "Gets the auto-forwarding setting for the specified account. For more information, see [Manage email forwarding](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.getAutoForwarding", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.getImap", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.getImap(input: object): Promise", + "summary": "Gets IMAP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.getImap", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.getLanguage", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.getLanguage(input: object): Promise", + "summary": "Gets language settings. For more information, see [Manage language settings](https://developers.google.com/workspace/gmail/api/guides/language-settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.getLanguage", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.getPop", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.getPop(input: object): Promise", + "summary": "Gets POP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.getPop", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.getVacation", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.getVacation(input: object): Promise", + "summary": "Gets vacation responder settings. For more information, see [Manage vacation settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/vacation_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.getVacation", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.sendAs.create", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.create(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.delete(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.get(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.settings.sendAs.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.list(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.sendAs.patch", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.patch(input: object): Promise", + "summary": "Patch the specified send-as alias. For more information, see [Manage aliases and signatures with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.patch", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.smimeInfo.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.delete(input: object): Promise", + "summary": "Deletes the specified S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.smimeInfo.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.get(input: object): Promise", + "summary": "Gets the specified S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.sendAs.smimeInfo.insert", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.insert(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/smime_certs).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.insert", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.smimeInfo.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.list(input: object): Promise", + "summary": "Lists S/MIME configs for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.smimeInfo.setDefault", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.setDefault(input: object): Promise", + "summary": "Sets the default S/MIME config for the specified send-as alias. For more information, see [Manage S/MIME certificates with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/smime_certs).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.smimeInfo.setDefault", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.sendAs.update", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.update(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). Addresses other than the primary address for the account can only be updated by service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sendAsEmail", + "userId" + ], + "path": "gmail.users.settings.sendAs.verify", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.verify(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/alias_and_signature_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.sendAs.verify", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.updateAutoForwarding", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateAutoForwarding(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/forwarding_settings). This method is only available to service account clients that have been delegated domain-wide authority.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateAutoForwarding", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.updateImap", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateImap(input: object): Promise", + "summary": "Updates IMAP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateImap", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.updateLanguage", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateLanguage(input: object): Promise", + "summary": "Updates language settings. For more information, see [Manage language settings](https://developers.google.com/workspace/gmail/api/guides/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.", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateLanguage", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.updatePop", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.updatePop(input: object): Promise", + "summary": "Updates POP settings. For more information, see [Configure POP and IMAP settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/pop_imap_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.updatePop", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.settings.updateVacation", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateVacation(input: object): Promise", + "summary": "Updates vacation responder settings. For more information, see [Manage vacation settings with the Gmail API](https://developers.google.com/workspace/gmail/api/guides/vacation_settings).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.settings.updateVacation", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.stop", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.stop(input: object): Promise", + "summary": "Turn off push notification delivery for the given user mailbox. For more information, see [Configure push notifications in Gmail API](https://developers.google.com/workspace/gmail/api/guides/push).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.stop", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.threads.delete", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.threads.delete(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/threads).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.threads.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "format", + "id", + "metadataHeaders", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.threads.get", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.threads.get(input: object): Promise", + "summary": "Gets the specified thread. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.threads.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "includeSpamTrash", + "labelIds", + "maxResults", + "pageToken", + "prettyPrint", + "q", + "quotaUser", + "userId" + ], + "path": "gmail.users.threads.list", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.threads.list(input: object): Promise", + "summary": "Lists the threads in the user's mailbox. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.threads.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.threads.modify", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.threads.modify(input: object): Promise", + "summary": "Modifies the labels applied to the thread. This applies to all messages in the thread. For more information, see [Manage threads](https://developers.google.com/workspace/gmail/api/guides/threads).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.threads.modify", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.threads.trash", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.threads.trash(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/threads).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.threads.trash", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "id", + "prettyPrint", + "quotaUser", + "userId" + ], + "path": "gmail.users.threads.untrash", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.threads.untrash(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/gmail/api/guides/threads).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.threads.untrash", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "userId", + "requestBody" + ], + "path": "gmail.users.watch", + "signature": "ctx.applications[\"google-workspace\"].gmail().users.watch(input: object): Promise", + "summary": "Set up or update a push notification watch on the given user mailbox. For more information, see [Configure push notifications in Gmail API](https://developers.google.com/workspace/gmail/api/guides/push).", + "callPrefix": "ctx.applications[\"google-workspace\"].gmail().users.watch", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "groupFields", + "maxMembers", + "prettyPrint", + "quotaUser", + "resourceNames" + ], + "path": "people.contactGroups.batchGet", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.batchGet(input?: object): Promise", + "summary": "Get a list of contact groups owned by the authenticated user by specifying a list of contact group resource names.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.batchGet", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "people.contactGroups.create", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.create(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.create", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "deleteContacts", + "fields", + "prettyPrint", + "quotaUser", + "resourceName" + ], + "path": "people.contactGroups.delete", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.delete(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.delete", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "groupFields", + "maxMembers", + "prettyPrint", + "quotaUser", + "resourceName" + ], + "path": "people.contactGroups.get", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.get(input: object): Promise", + "summary": "Get a specific contact group owned by the authenticated user by specifying a contact group resource name.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "groupFields", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "syncToken" + ], + "path": "people.contactGroups.list", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.list(input?: object): Promise", + "summary": "List all contact groups owned by the authenticated user. Members of the contact groups are not populated.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "resourceName", + "requestBody" + ], + "path": "people.contactGroups.members.modify", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.members.modify(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.members.modify", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "resourceName", + "requestBody" + ], + "path": "people.contactGroups.update", + "signature": "ctx.applications[\"google-workspace\"].people().contactGroups.update(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().contactGroups.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "resourceName", + "requestBody" + ], + "path": "people.otherContacts.copyOtherContactToMyContactsGroup", + "signature": "ctx.applications[\"google-workspace\"].people().otherContacts.copyOtherContactToMyContactsGroup(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().otherContacts.copyOtherContactToMyContactsGroup", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "readMask", + "requestSyncToken", + "sources", + "syncToken" + ], + "path": "people.otherContacts.list", + "signature": "ctx.applications[\"google-workspace\"].people().otherContacts.list(input?: object): Promise", + "summary": "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](https://cloud.google.com/apis/design/errors#error_info) 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](/people/v1/other-contacts#list_the_users_other_contacts_that_have_changed).", + "callPrefix": "ctx.applications[\"google-workspace\"].people().otherContacts.list", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "prettyPrint", + "query", + "quotaUser", + "readMask" + ], + "path": "people.otherContacts.search", + "signature": "ctx.applications[\"google-workspace\"].people().otherContacts.search(input?: object): Promise", + "summary": "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", + "callPrefix": "ctx.applications[\"google-workspace\"].people().otherContacts.search", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "people.people.batchCreateContacts", + "signature": "ctx.applications[\"google-workspace\"].people().people.batchCreateContacts(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.batchCreateContacts", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "people.people.batchDeleteContacts", + "signature": "ctx.applications[\"google-workspace\"].people().people.batchDeleteContacts(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.batchDeleteContacts", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "people.people.batchUpdateContacts", + "signature": "ctx.applications[\"google-workspace\"].people().people.batchUpdateContacts(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.batchUpdateContacts", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "pageToken", + "personFields", + "prettyPrint", + "quotaUser", + "requestMask.includeField", + "requestSyncToken", + "resourceName", + "sortOrder", + "sources", + "syncToken" + ], + "path": "people.people.connections.list", + "signature": "ctx.applications[\"google-workspace\"].people().people.connections.list(input: object): Promise", + "summary": "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](https://cloud.google.com/apis/design/errors#error_info) 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](/people/v1/contacts#list_the_users_contacts_that_have_changed).", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.connections.list", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "personFields", + "prettyPrint", + "quotaUser", + "sources", + "requestBody" + ], + "path": "people.people.createContact", + "signature": "ctx.applications[\"google-workspace\"].people().people.createContact(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.createContact", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "resourceName" + ], + "path": "people.people.deleteContact", + "signature": "ctx.applications[\"google-workspace\"].people().people.deleteContact(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.deleteContact", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "personFields", + "prettyPrint", + "quotaUser", + "resourceName", + "sources" + ], + "path": "people.people.deleteContactPhoto", + "signature": "ctx.applications[\"google-workspace\"].people().people.deleteContactPhoto(input: object): Promise", + "summary": "Delete a contact's photo. Mutate requests for the same user should be done sequentially to avoid // lock contention.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.deleteContactPhoto", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "personFields", + "prettyPrint", + "quotaUser", + "requestMask.includeField", + "resourceName", + "sources" + ], + "path": "people.people.get", + "signature": "ctx.applications[\"google-workspace\"].people().people.get(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "personFields", + "prettyPrint", + "quotaUser", + "requestMask.includeField", + "resourceNames", + "sources" + ], + "path": "people.people.getBatchGet", + "signature": "ctx.applications[\"google-workspace\"].people().people.getBatchGet(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.getBatchGet", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "mergeSources", + "pageSize", + "pageToken", + "prettyPrint", + "quotaUser", + "readMask", + "requestSyncToken", + "sources", + "syncToken" + ], + "path": "people.people.listDirectoryPeople", + "signature": "ctx.applications[\"google-workspace\"].people().people.listDirectoryPeople(input?: object): Promise", + "summary": "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](/people/v1/directory#list_the_directory_people_that_have_changed).", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.listDirectoryPeople", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageSize", + "prettyPrint", + "query", + "quotaUser", + "readMask", + "sources" + ], + "path": "people.people.searchContacts", + "signature": "ctx.applications[\"google-workspace\"].people().people.searchContacts(input?: object): Promise", + "summary": "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", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.searchContacts", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "mergeSources", + "pageSize", + "pageToken", + "prettyPrint", + "query", + "quotaUser", + "readMask", + "sources" + ], + "path": "people.people.searchDirectoryPeople", + "signature": "ctx.applications[\"google-workspace\"].people().people.searchDirectoryPeople(input?: object): Promise", + "summary": "Provides a list of domain profiles and domain contacts in the authenticated user's domain directory that match the search query.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.searchDirectoryPeople", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "personFields", + "prettyPrint", + "quotaUser", + "resourceName", + "sources", + "updatePersonFields", + "requestBody" + ], + "path": "people.people.updateContact", + "signature": "ctx.applications[\"google-workspace\"].people().people.updateContact(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.updateContact", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "resourceName", + "requestBody" + ], + "path": "people.people.updateContactPhoto", + "signature": "ctx.applications[\"google-workspace\"].people().people.updateContactPhoto(input: object): Promise", + "summary": "Update a contact's photo. Mutate requests for the same user should be sent sequentially to avoid increased latency and failures.", + "callPrefix": "ctx.applications[\"google-workspace\"].people().people.updateContactPhoto", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.batchUpdate", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.batchUpdate(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.batchUpdate", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "sheets.spreadsheets.create", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.create(input?: object): Promise", + "summary": "Creates a spreadsheet, returning the newly created spreadsheet.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.create", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "metadataId", + "prettyPrint", + "quotaUser", + "spreadsheetId" + ], + "path": "sheets.spreadsheets.developerMetadata.get", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.get(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/sheets/api/guides/metadata).", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.developerMetadata.search", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.search(input: object): Promise", + "summary": "Returns all developer metadata matching the specified DataFilter. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.developerMetadata.search", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "excludeTablesInBandedRanges", + "fields", + "includeGridData", + "prettyPrint", + "quotaUser", + "ranges", + "spreadsheetId" + ], + "path": "sheets.spreadsheets.get", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.get(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/sheets/api/guides/field-masks) 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](https://developers.google.com/workspace/sheets/api/guides/concepts#cell). 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.getByDataFilter", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.getByDataFilter(input: object): Promise", + "summary": "Returns the spreadsheet at the given ID. The caller must specify the spreadsheet ID. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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](https://developers.google.com/workspace/sheets/api/guides/field-masks) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.getByDataFilter", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "sheetId", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.sheets.copyTo", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.sheets.copyTo(input: object): Promise", + "summary": "Copies a single sheet from a spreadsheet to another spreadsheet. Returns the properties of the newly created sheet.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.sheets.copyTo", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "includeValuesInResponse", + "insertDataOption", + "prettyPrint", + "quotaUser", + "range", + "responseDateTimeRenderOption", + "responseValueRenderOption", + "spreadsheetId", + "valueInputOption", + "requestBody" + ], + "path": "sheets.spreadsheets.values.append", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.append(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/sheets/api/guides/values#appending_values) and [sample code](https://developers.google.com/workspace/sheets/api/samples/writing#append_values) 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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.append", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.values.batchClear", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClear(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClear", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.values.batchClearByDataFilter", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClearByDataFilter(input: object): Promise", + "summary": "Clears one or more ranges of values from a spreadsheet. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchClearByDataFilter", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "dateTimeRenderOption", + "fields", + "majorDimension", + "prettyPrint", + "quotaUser", + "ranges", + "spreadsheetId", + "valueRenderOption" + ], + "path": "sheets.spreadsheets.values.batchGet", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGet(input: object): Promise", + "summary": "Returns one or more ranges of values from a spreadsheet. The caller must specify the spreadsheet ID and one or more ranges.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGet", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.values.batchGetByDataFilter", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGetByDataFilter(input: object): Promise", + "summary": "Returns one or more ranges of values that match the specified data filters. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchGetByDataFilter", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.values.batchUpdate", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdate(input: object): Promise", + "summary": "Sets values in one or more ranges of a spreadsheet. The caller must specify the spreadsheet ID, a valueInputOption, and one or more ValueRanges.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdate", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.values.batchUpdateByDataFilter", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdateByDataFilter(input: object): Promise", + "summary": "Sets values in one or more ranges of a spreadsheet. For more information, see [Read, write, and search metadata](https://developers.google.com/workspace/sheets/api/guides/metadata). The caller must specify the spreadsheet ID, a valueInputOption, and one or more DataFilterValueRanges.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.batchUpdateByDataFilter", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "range", + "spreadsheetId", + "requestBody" + ], + "path": "sheets.spreadsheets.values.clear", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.clear(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.clear", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "dateTimeRenderOption", + "fields", + "majorDimension", + "prettyPrint", + "quotaUser", + "range", + "spreadsheetId", + "valueRenderOption" + ], + "path": "sheets.spreadsheets.values.get", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.get(input: object): Promise", + "summary": "Returns a range of values from a spreadsheet. The caller must specify the spreadsheet ID and a range.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.get", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "includeValuesInResponse", + "prettyPrint", + "quotaUser", + "range", + "responseDateTimeRenderOption", + "responseValueRenderOption", + "spreadsheetId", + "valueInputOption", + "requestBody" + ], + "path": "sheets.spreadsheets.values.update", + "signature": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.update(input: object): Promise", + "summary": "Sets values in a range of a spreadsheet. The caller must specify the spreadsheet ID, range, and a valueInputOption.", + "callPrefix": "ctx.applications[\"google-workspace\"].sheets().spreadsheets.values.update", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "presentationId", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "slides.presentations.batchUpdate", + "signature": "ctx.applications[\"google-workspace\"].slides().presentations.batchUpdate(input: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].slides().presentations.batchUpdate", + "output": "unknown" + }, + { + "effect": "write", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "prettyPrint", + "quotaUser", + "requestBody" + ], + "path": "slides.presentations.create", + "signature": "ctx.applications[\"google-workspace\"].slides().presentations.create(input?: object): Promise", + "summary": "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.", + "callPrefix": "ctx.applications[\"google-workspace\"].slides().presentations.create", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "presentationId", + "prettyPrint", + "quotaUser" + ], + "path": "slides.presentations.get", + "signature": "ctx.applications[\"google-workspace\"].slides().presentations.get(input: object): Promise", + "summary": "Gets the latest version of the specified presentation.", + "callPrefix": "ctx.applications[\"google-workspace\"].slides().presentations.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageObjectId", + "presentationId", + "prettyPrint", + "quotaUser" + ], + "path": "slides.presentations.pages.get", + "signature": "ctx.applications[\"google-workspace\"].slides().presentations.pages.get(input: object): Promise", + "summary": "Gets the latest version of the specified page in the presentation.", + "callPrefix": "ctx.applications[\"google-workspace\"].slides().presentations.pages.get", + "output": "unknown" + }, + { + "effect": "read", + "inputNames": [ + "$.xgafv", + "alt", + "fields", + "pageObjectId", + "presentationId", + "prettyPrint", + "quotaUser", + "thumbnailProperties.mimeType", + "thumbnailProperties.thumbnailSize" + ], + "path": "slides.presentations.pages.getThumbnail", + "signature": "ctx.applications[\"google-workspace\"].slides().presentations.pages.getThumbnail(input: object): Promise", + "summary": "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](https://developers.google.com/workspace/slides/limits) for quota purposes.", + "callPrefix": "ctx.applications[\"google-workspace\"].slides().presentations.pages.getThumbnail", + "output": "unknown" + } +] as const satisfies readonly GoogleWorkspaceMember[]; diff --git a/src/google-workspace.requests.generated.ts b/src/google-workspace.requests.generated.ts new file mode 100644 index 0000000..9d4c8ae --- /dev/null +++ b/src/google-workspace.requests.generated.ts @@ -0,0 +1,13297 @@ +// Generated from the checked-in Google Discovery documents. Do not edit. +// Regenerate with: vp run generate + +export const GOOGLE_WORKSPACE_REQUESTS = { + "drive": { + "baseUrl": "https://www.googleapis.com/drive/v3/", + "resources": { + "methods": {}, + "resources": { + "about": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "about", + "request": false + } + }, + "resources": {} + }, + "accessproposals": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "proposalId": { + "location": "path", + "repeated": false, + "required": true + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/accessproposals/{proposalId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/accessproposals", + "request": false + }, + "resolve": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "proposalId": { + "location": "path", + "repeated": false, + "required": true + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/accessproposals/{proposalId}:resolve", + "request": true + } + }, + "resources": {} + }, + "approvals": { + "methods": { + "approve": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "approvalId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals/{approvalId}:approve", + "request": true + }, + "cancel": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "approvalId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals/{approvalId}:cancel", + "request": true + }, + "comment": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "approvalId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals/{approvalId}:comment", + "request": true + }, + "decline": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "approvalId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals/{approvalId}:decline", + "request": true + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "approvalId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals/{approvalId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals", + "request": false + }, + "reassign": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "approvalId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals/{approvalId}:reassign", + "request": true + }, + "start": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/approvals:start", + "request": true + } + }, + "resources": {} + }, + "apps": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "appId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "apps/{appId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "appFilterExtensions": { + "location": "query", + "repeated": false, + "required": false + }, + "appFilterMimeTypes": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "languageCode": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "apps", + "request": false + } + }, + "resources": {} + }, + "changes": { + "methods": { + "getStartPageToken": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "changes/startPageToken", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeCorpusRemovals": { + "location": "query", + "repeated": false, + "required": false + }, + "includeItemsFromAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "includeRemoved": { + "location": "query", + "repeated": false, + "required": false + }, + "includeTeamDriveItems": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "restrictToMyDrive": { + "location": "query", + "repeated": false, + "required": false + }, + "spaces": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "changes", + "request": false + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeCorpusRemovals": { + "location": "query", + "repeated": false, + "required": false + }, + "includeItemsFromAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "includeRemoved": { + "location": "query", + "repeated": false, + "required": false + }, + "includeTeamDriveItems": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "restrictToMyDrive": { + "location": "query", + "repeated": false, + "required": false + }, + "spaces": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "changes/watch", + "request": true + } + }, + "resources": {} + }, + "channels": { + "methods": { + "stop": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "channels/stop", + "request": true + } + }, + "resources": {} + }, + "comments": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments/{commentId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments/{commentId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "startModifiedTime": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments", + "request": false + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments/{commentId}", + "request": true + } + }, + "resources": {} + }, + "drives": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestId": { + "location": "query", + "repeated": false, + "required": true + } + }, + "path": "drives", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "allowItemDeletion": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "drives/{driveId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "drives/{driveId}", + "request": false + }, + "hide": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "drives/{driveId}/hide", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "drives", + "request": false + }, + "unhide": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "drives/{driveId}/unhide", + "request": false + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "drives/{driveId}", + "request": true + } + }, + "resources": {} + }, + "files": { + "methods": { + "copy": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceSingleParent": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "ignoreDefaultVisibility": { + "location": "query", + "repeated": false, + "required": false + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "keepRevisionForever": { + "location": "query", + "repeated": false, + "required": false + }, + "ocrLanguage": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/copy", + "request": true + }, + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceSingleParent": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "ignoreDefaultVisibility": { + "location": "query", + "repeated": false, + "required": false + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "keepRevisionForever": { + "location": "query", + "repeated": false, + "required": false + }, + "ocrLanguage": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "useContentAsIndexableText": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files", + "request": true, + "uploadPath": "/upload/drive/v3/files" + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceSingleParent": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}", + "request": false + }, + "download": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "mimeType": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "revisionId": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/download", + "request": false + }, + "emptyTrash": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceSingleParent": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/trash", + "request": false + }, + "export": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "mimeType": { + "location": "query", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/export", + "request": false + }, + "generateCseToken": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/generateCseToken", + "request": false + }, + "generateIds": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "count": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "space": { + "location": "query", + "repeated": false, + "required": false + }, + "type": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/generateIds", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "acknowledgeAbuse": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "corpora": { + "location": "query", + "repeated": false, + "required": false + }, + "corpus": { + "location": "query", + "repeated": false, + "required": false + }, + "driveId": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeItemsFromAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "includeTeamDriveItems": { + "location": "query", + "repeated": false, + "required": false + }, + "orderBy": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spaces": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files", + "request": false + }, + "listLabels": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/listLabels", + "request": false + }, + "modifyLabels": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/modifyLabels", + "request": true + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "addParents": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceSingleParent": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "keepRevisionForever": { + "location": "query", + "repeated": false, + "required": false + }, + "ocrLanguage": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "removeParents": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "useContentAsIndexableText": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}", + "request": true, + "uploadPath": "/upload/drive/v3/files/{fileId}" + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "acknowledgeAbuse": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeLabels": { + "location": "query", + "repeated": false, + "required": false + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/watch", + "request": true + } + }, + "resources": {} + }, + "operations": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "operations/{name}", + "request": false + } + }, + "resources": {} + }, + "permissions": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "emailMessage": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceExpansiveAccess": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceSingleParent": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "moveToNewOwnersRoot": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotificationEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "transferOwnership": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/permissions", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceExpansiveAccess": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "permissionId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/permissions/{permissionId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "permissionId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/permissions/{permissionId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includePermissionsForView": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/permissions", + "request": false + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "enforceExpansiveAccess": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "permissionId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "removeExpiration": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAllDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsTeamDrives": { + "location": "query", + "repeated": false, + "required": false + }, + "transferOwnership": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/permissions/{permissionId}", + "request": true + } + }, + "resources": {} + }, + "replies": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments/{commentId}/replies", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "replyId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "replyId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "includeDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/comments/{commentId}/replies", + "request": false + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "commentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "replyId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "files/{fileId}/comments/{commentId}/replies/{replyId}", + "request": true + } + }, + "resources": {} + }, + "revisions": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "revisionId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "files/{fileId}/revisions/{revisionId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "acknowledgeAbuse": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "revisionId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "files/{fileId}/revisions/{revisionId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "files/{fileId}/revisions", + "request": false + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "fileId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "revisionId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "files/{fileId}/revisions/{revisionId}", + "request": true + } + }, + "resources": {} + }, + "teamdrives": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestId": { + "location": "query", + "repeated": false, + "required": true + } + }, + "path": "teamdrives", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "teamdrives/{teamDriveId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "path", + "repeated": false, + "required": true + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "teamdrives/{teamDriveId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "teamdrives", + "request": false + }, + "update": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "teamDriveId": { + "location": "path", + "repeated": false, + "required": true + }, + "useDomainAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "teamdrives/{teamDriveId}", + "request": true + } + }, + "resources": {} + } + } + } + }, + "gmail": { + "baseUrl": "https://gmail.googleapis.com/", + "resources": { + "methods": {}, + "resources": { + "users": { + "methods": { + "getProfile": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/profile", + "request": false + }, + "stop": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/stop", + "request": false + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/watch", + "request": true + } + }, + "resources": { + "drafts": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/drafts", + "request": true, + "uploadPath": "/upload/gmail/v1/users/{userId}/drafts" + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/drafts/{id}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "format": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/drafts/{id}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeSpamTrash": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/drafts", + "request": false + }, + "send": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/drafts/send", + "request": true, + "uploadPath": "/upload/gmail/v1/users/{userId}/drafts/send" + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/drafts/{id}", + "request": true, + "uploadPath": "/upload/gmail/v1/users/{userId}/drafts/{id}" + } + }, + "resources": {} + }, + "history": { + "methods": { + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "historyTypes": { + "location": "query", + "repeated": true, + "required": false + }, + "labelId": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "startHistoryId": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/history", + "request": false + } + }, + "resources": {} + }, + "labels": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/labels", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/labels/{id}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/labels/{id}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/labels", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/labels/{id}", + "request": true + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/labels/{id}", + "request": true + } + }, + "resources": {} + }, + "messages": { + "methods": { + "batchDelete": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/batchDelete", + "request": true + }, + "batchModify": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/batchModify", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/{id}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "format": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "metadataHeaders": { + "location": "query", + "repeated": true, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/{id}", + "request": false + }, + "import": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "deleted": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "internalDateSource": { + "location": "query", + "repeated": false, + "required": false + }, + "neverMarkSpam": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "processForCalendar": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/import", + "request": true, + "uploadPath": "/upload/gmail/v1/users/{userId}/messages/import" + }, + "insert": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "deleted": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "internalDateSource": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages", + "request": true, + "uploadPath": "/upload/gmail/v1/users/{userId}/messages" + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeSpamTrash": { + "location": "query", + "repeated": false, + "required": false + }, + "labelIds": { + "location": "query", + "repeated": true, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages", + "request": false + }, + "modify": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/{id}/modify", + "request": true + }, + "send": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/send", + "request": true, + "uploadPath": "/upload/gmail/v1/users/{userId}/messages/send" + }, + "trash": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/{id}/trash", + "request": false + }, + "untrash": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/{id}/untrash", + "request": false + } + }, + "resources": { + "attachments": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "messageId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/messages/{messageId}/attachments/{id}", + "request": false + } + }, + "resources": {} + } + } + }, + "settings": { + "methods": { + "getAutoForwarding": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/autoForwarding", + "request": false + }, + "getImap": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/imap", + "request": false + }, + "getLanguage": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/language", + "request": false + }, + "getPop": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/pop", + "request": false + }, + "getVacation": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/vacation", + "request": false + }, + "updateAutoForwarding": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/autoForwarding", + "request": true + }, + "updateImap": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/imap", + "request": true + }, + "updateLanguage": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/language", + "request": true + }, + "updatePop": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/pop", + "request": true + }, + "updateVacation": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/vacation", + "request": true + } + }, + "resources": { + "cse": { + "methods": {}, + "resources": { + "identities": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/identities", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "cseEmailAddress": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/identities/{cseEmailAddress}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "cseEmailAddress": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/identities/{cseEmailAddress}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/identities", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "emailAddress": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/identities/{emailAddress}", + "request": true + } + }, + "resources": {} + }, + "keypairs": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "chainValidation": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/keypairs", + "request": true + }, + "disable": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "keyPairId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:disable", + "request": true + }, + "enable": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "keyPairId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:enable", + "request": true + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "keyPairId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/keypairs", + "request": false + }, + "obliterate": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "keyPairId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/cse/keypairs/{keyPairId}:obliterate", + "request": true + } + }, + "resources": {} + } + } + }, + "delegates": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/delegates", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "delegateEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/delegates/{delegateEmail}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "delegateEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/delegates/{delegateEmail}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/delegates", + "request": false + } + }, + "resources": {} + }, + "filters": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/filters", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/filters/{id}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/filters/{id}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/filters", + "request": false + } + }, + "resources": {} + }, + "forwardingAddresses": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/forwardingAddresses", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "forwardingEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "forwardingEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/forwardingAddresses/{forwardingEmail}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/forwardingAddresses", + "request": false + } + }, + "resources": {} + }, + "sendAs": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}", + "request": true + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}", + "request": true + }, + "verify": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/verify", + "request": false + } + }, + "resources": { + "smimeInfo": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}", + "request": false + }, + "insert": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo", + "request": true + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo", + "request": false + }, + "setDefault": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendAsEmail": { + "location": "path", + "repeated": false, + "required": true + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/settings/sendAs/{sendAsEmail}/smimeInfo/{id}/setDefault", + "request": false + } + }, + "resources": {} + } + } + } + } + }, + "threads": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/threads/{id}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "format": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "metadataHeaders": { + "location": "query", + "repeated": true, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/threads/{id}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeSpamTrash": { + "location": "query", + "repeated": false, + "required": false + }, + "labelIds": { + "location": "query", + "repeated": true, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/threads", + "request": false + }, + "modify": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/threads/{id}/modify", + "request": true + }, + "trash": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/threads/{id}/trash", + "request": false + }, + "untrash": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "id": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "gmail/v1/users/{userId}/threads/{id}/untrash", + "request": false + } + }, + "resources": {} + } + } + } + } + } + }, + "calendar": { + "baseUrl": "https://www.googleapis.com/calendar/v3/", + "resources": { + "methods": {}, + "resources": { + "acl": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "ruleId": { + "location": "path", + "repeated": false, + "required": true + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl/{ruleId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "ruleId": { + "location": "path", + "repeated": false, + "required": true + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl/{ruleId}", + "request": false + }, + "insert": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl", + "request": true + }, + "list": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "ruleId": { + "location": "path", + "repeated": false, + "required": true + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl/{ruleId}", + "request": true + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "ruleId": { + "location": "path", + "repeated": false, + "required": true + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl/{ruleId}", + "request": true + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/acl/watch", + "request": true + } + }, + "resources": {} + }, + "calendarList": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList/{calendarId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList/{calendarId}", + "request": false + }, + "insert": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "colorRgbFormat": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList", + "request": true + }, + "list": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "minAccessRole": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "showHidden": { + "location": "query", + "repeated": false, + "required": false + }, + "showOwnOrganizationOnly": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "colorRgbFormat": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList/{calendarId}", + "request": true + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "colorRgbFormat": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList/{calendarId}", + "request": true + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "minAccessRole": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "showHidden": { + "location": "query", + "repeated": false, + "required": false + }, + "showOwnOrganizationOnly": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/calendarList/watch", + "request": true + } + }, + "resources": {} + }, + "calendars": { + "methods": { + "clear": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/clear", + "request": false + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}", + "request": false + }, + "insert": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars", + "request": true + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}", + "request": true + }, + "transferOwnership": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "newDataOwner": { + "location": "query", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": true + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/transferOwnership", + "request": false + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}", + "request": true + } + }, + "resources": {} + }, + "channels": { + "methods": { + "stop": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "channels/stop", + "request": true + } + }, + "resources": {} + }, + "colors": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "colors", + "request": false + } + }, + "resources": {} + }, + "events": { + "methods": { + "delete": { + "httpMethod": "DELETE", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "sendUpdates": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/{eventId}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "alwaysIncludeEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "timeZone": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/{eventId}", + "request": false + }, + "import": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "conferenceDataVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "eventLabelVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAttachments": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/import", + "request": true + }, + "insert": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "conferenceDataVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "eventLabelVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "sendUpdates": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAttachments": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events", + "request": true + }, + "instances": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "alwaysIncludeEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "originalStart": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "timeMax": { + "location": "query", + "repeated": false, + "required": false + }, + "timeMin": { + "location": "query", + "repeated": false, + "required": false + }, + "timeZone": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/{eventId}/instances", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "alwaysIncludeEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventTypes": { + "location": "query", + "repeated": true, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "iCalUID": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "orderBy": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "privateExtendedProperty": { + "location": "query", + "repeated": true, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sharedExtendedProperty": { + "location": "query", + "repeated": true, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "showHiddenInvitations": { + "location": "query", + "repeated": false, + "required": false + }, + "singleEvents": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "timeMax": { + "location": "query", + "repeated": false, + "required": false + }, + "timeMin": { + "location": "query", + "repeated": false, + "required": false + }, + "timeZone": { + "location": "query", + "repeated": false, + "required": false + }, + "updatedMin": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events", + "request": false + }, + "move": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "destination": { + "location": "query", + "repeated": false, + "required": true + }, + "eventId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "sendUpdates": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/{eventId}/move", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "alwaysIncludeEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "conferenceDataVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "eventId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventLabelVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "sendUpdates": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAttachments": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/{eventId}", + "request": true + }, + "quickAdd": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "sendUpdates": { + "location": "query", + "repeated": false, + "required": false + }, + "text": { + "location": "query", + "repeated": false, + "required": true + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/quickAdd", + "request": false + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "alwaysIncludeEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "conferenceDataVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "eventId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventLabelVersion": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sendNotifications": { + "location": "query", + "repeated": false, + "required": false + }, + "sendUpdates": { + "location": "query", + "repeated": false, + "required": false + }, + "supportsAttachments": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/{eventId}", + "request": true + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "alwaysIncludeEmail": { + "location": "query", + "repeated": false, + "required": false + }, + "calendarId": { + "location": "path", + "repeated": false, + "required": true + }, + "eventTypes": { + "location": "query", + "repeated": true, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "iCalUID": { + "location": "query", + "repeated": false, + "required": false + }, + "maxAttendees": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "orderBy": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "privateExtendedProperty": { + "location": "query", + "repeated": true, + "required": false + }, + "q": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sharedExtendedProperty": { + "location": "query", + "repeated": true, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + }, + "showHiddenInvitations": { + "location": "query", + "repeated": false, + "required": false + }, + "singleEvents": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "timeMax": { + "location": "query", + "repeated": false, + "required": false + }, + "timeMin": { + "location": "query", + "repeated": false, + "required": false + }, + "timeZone": { + "location": "query", + "repeated": false, + "required": false + }, + "updatedMin": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "calendars/{calendarId}/events/watch", + "request": true + } + }, + "resources": {} + }, + "freebusy": { + "methods": { + "query": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "freeBusy", + "request": true + } + }, + "resources": {} + }, + "settings": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "setting": { + "location": "path", + "repeated": false, + "required": true + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/settings/{setting}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/settings", + "request": false + }, + "watch": { + "httpMethod": "POST", + "parameters": { + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxResults": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "userIp": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "users/me/settings/watch", + "request": true + } + }, + "resources": {} + } + } + } + }, + "docs": { + "baseUrl": "https://docs.googleapis.com/", + "resources": { + "methods": {}, + "resources": { + "documents": { + "methods": { + "batchUpdate": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "documentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/documents/{documentId}:batchUpdate", + "request": true + }, + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/documents", + "request": true + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "documentId": { + "location": "path", + "repeated": false, + "required": true + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeTabsContent": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "suggestionsViewMode": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/documents/{documentId}", + "request": false + } + }, + "resources": {} + } + } + } + }, + "sheets": { + "baseUrl": "https://sheets.googleapis.com/", + "resources": { + "methods": {}, + "resources": { + "spreadsheets": { + "methods": { + "batchUpdate": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}:batchUpdate", + "request": true + }, + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v4/spreadsheets", + "request": true + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "excludeTablesInBandedRanges": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeGridData": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "ranges": { + "location": "query", + "repeated": true, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}", + "request": false + }, + "getByDataFilter": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}:getByDataFilter", + "request": true + } + }, + "resources": { + "developerMetadata": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "metadataId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/developerMetadata/{metadataId}", + "request": false + }, + "search": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/developerMetadata:search", + "request": true + } + }, + "resources": {} + }, + "sheets": { + "methods": { + "copyTo": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sheetId": { + "location": "path", + "repeated": false, + "required": true + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/sheets/{sheetId}:copyTo", + "request": true + } + }, + "resources": {} + }, + "values": { + "methods": { + "append": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeValuesInResponse": { + "location": "query", + "repeated": false, + "required": false + }, + "insertDataOption": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "range": { + "location": "path", + "repeated": false, + "required": true + }, + "responseDateTimeRenderOption": { + "location": "query", + "repeated": false, + "required": false + }, + "responseValueRenderOption": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + }, + "valueInputOption": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}:append", + "request": true + }, + "batchClear": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values:batchClear", + "request": true + }, + "batchClearByDataFilter": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values:batchClearByDataFilter", + "request": true + }, + "batchGet": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "dateTimeRenderOption": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "majorDimension": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "ranges": { + "location": "query", + "repeated": true, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + }, + "valueRenderOption": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values:batchGet", + "request": false + }, + "batchGetByDataFilter": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values:batchGetByDataFilter", + "request": true + }, + "batchUpdate": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values:batchUpdate", + "request": true + }, + "batchUpdateByDataFilter": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values:batchUpdateByDataFilter", + "request": true + }, + "clear": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "range": { + "location": "path", + "repeated": false, + "required": true + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}:clear", + "request": true + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "dateTimeRenderOption": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "majorDimension": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "range": { + "location": "path", + "repeated": false, + "required": true + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + }, + "valueRenderOption": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}", + "request": false + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "includeValuesInResponse": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "range": { + "location": "path", + "repeated": false, + "required": true + }, + "responseDateTimeRenderOption": { + "location": "query", + "repeated": false, + "required": false + }, + "responseValueRenderOption": { + "location": "query", + "repeated": false, + "required": false + }, + "spreadsheetId": { + "location": "path", + "repeated": false, + "required": true + }, + "valueInputOption": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v4/spreadsheets/{spreadsheetId}/values/{range}", + "request": true + } + }, + "resources": {} + } + } + } + } + } + }, + "slides": { + "baseUrl": "https://slides.googleapis.com/", + "resources": { + "methods": {}, + "resources": { + "presentations": { + "methods": { + "batchUpdate": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "presentationId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/presentations/{presentationId}:batchUpdate", + "request": true + }, + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/presentations", + "request": true + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "presentationId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/presentations/{+presentationId}", + "request": false + } + }, + "resources": { + "pages": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageObjectId": { + "location": "path", + "repeated": false, + "required": true + }, + "presentationId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/presentations/{presentationId}/pages/{pageObjectId}", + "request": false + }, + "getThumbnail": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageObjectId": { + "location": "path", + "repeated": false, + "required": true + }, + "presentationId": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "thumbnailProperties.mimeType": { + "location": "query", + "repeated": false, + "required": false + }, + "thumbnailProperties.thumbnailSize": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/presentations/{presentationId}/pages/{pageObjectId}/thumbnail", + "request": false + } + }, + "resources": {} + } + } + } + } + } + }, + "chat": { + "baseUrl": "https://chat.googleapis.com/", + "resources": { + "methods": {}, + "resources": { + "customEmojis": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/customEmojis", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/customEmojis", + "request": false + } + }, + "resources": {} + }, + "media": { + "methods": { + "download": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/media/{+resourceName}", + "request": false + }, + "upload": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/attachments:upload", + "request": true, + "uploadPath": "/upload/v1/{+parent}/attachments:upload" + } + }, + "resources": {} + }, + "spaces": { + "methods": { + "completeImport": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}:completeImport", + "request": true + }, + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestId": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/spaces", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "findDirectMessage": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/spaces:findDirectMessage", + "request": false + }, + "findGroupChats": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "spaceView": { + "location": "query", + "repeated": false, + "required": false + }, + "users": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/spaces:findGroupChats", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/spaces", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + }, + "search": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "orderBy": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "query": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/spaces:search", + "request": false + }, + "setup": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/spaces:setup", + "request": true + } + }, + "resources": { + "members": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/members", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showGroups": { + "location": "query", + "repeated": false, + "required": false + }, + "showInvited": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/members", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + }, + "useAdminAccess": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + } + }, + "resources": {} + }, + "messages": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "createMessageNotificationOptions.notificationType": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "messageId": { + "location": "query", + "repeated": false, + "required": false + }, + "messageReplyOption": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestId": { + "location": "query", + "repeated": false, + "required": false + }, + "threadKey": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/messages", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "force": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "markupSyntax": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "markupSyntax": { + "location": "query", + "repeated": false, + "required": false + }, + "orderBy": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "showDeleted": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/messages", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "allowMissing": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + }, + "search": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/messages:search", + "request": true + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "allowMissing": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + } + }, + "resources": { + "attachments": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + } + }, + "resources": {} + }, + "reactions": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/reactions", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/reactions", + "request": false + } + }, + "resources": {} + } + } + }, + "spaceEvents": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/spaceEvents", + "request": false + } + }, + "resources": {} + } + } + }, + "users": { + "methods": {}, + "resources": { + "availability": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "markAsActive": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}:markAsActive", + "request": true + }, + "markAsAway": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}:markAsAway", + "request": true + }, + "markAsDoNotDisturb": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}:markAsDoNotDisturb", + "request": true + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + } + }, + "resources": {} + }, + "sections": { + "methods": { + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/sections", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/sections", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + }, + "position": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}:position", + "request": true + } + }, + "resources": { + "items": { + "methods": { + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "filter": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "parent": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+parent}/items", + "request": false + }, + "move": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}:move", + "request": true + } + }, + "resources": {} + } + } + }, + "spaces": { + "methods": { + "getSpaceReadState": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "updateSpaceReadState": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + } + }, + "resources": { + "spaceNotificationSetting": { + "methods": { + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + }, + "patch": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "updateMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": true + } + }, + "resources": {} + }, + "threads": { + "methods": { + "getThreadReadState": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "name": { + "location": "path", + "repeated": false, + "required": true + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+name}", + "request": false + } + }, + "resources": {} + } + } + } + } + } + } + } + }, + "people": { + "baseUrl": "https://people.googleapis.com/", + "resources": { + "methods": {}, + "resources": { + "contactGroups": { + "methods": { + "batchGet": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "groupFields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxMembers": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceNames": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/contactGroups:batchGet", + "request": false + }, + "create": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/contactGroups", + "request": true + }, + "delete": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "deleteContacts": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "groupFields": { + "location": "query", + "repeated": false, + "required": false + }, + "maxMembers": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}", + "request": false + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "groupFields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/contactGroups", + "request": false + }, + "update": { + "httpMethod": "PUT", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}", + "request": true + } + }, + "resources": { + "members": { + "methods": { + "modify": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}/members:modify", + "request": true + } + }, + "resources": {} + } + } + }, + "otherContacts": { + "methods": { + "copyOtherContactToMyContactsGroup": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}:copyOtherContactToMyContactsGroup", + "request": true + }, + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "readMask": { + "location": "query", + "repeated": false, + "required": false + }, + "requestSyncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/otherContacts", + "request": false + }, + "search": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "query": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "readMask": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/otherContacts:search", + "request": false + } + }, + "resources": {} + }, + "people": { + "methods": { + "batchCreateContacts": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/people:batchCreateContacts", + "request": true + }, + "batchDeleteContacts": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/people:batchDeleteContacts", + "request": true + }, + "batchUpdateContacts": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/people:batchUpdateContacts", + "request": true + }, + "createContact": { + "httpMethod": "POST", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "personFields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/people:createContact", + "request": true + }, + "deleteContact": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}:deleteContact", + "request": false + }, + "deleteContactPhoto": { + "httpMethod": "DELETE", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "personFields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/{+resourceName}:deleteContactPhoto", + "request": false + }, + "get": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "personFields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestMask.includeField": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/{+resourceName}", + "request": false + }, + "getBatchGet": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "personFields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestMask.includeField": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceNames": { + "location": "query", + "repeated": true, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/people:batchGet", + "request": false + }, + "listDirectoryPeople": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "mergeSources": { + "location": "query", + "repeated": true, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "readMask": { + "location": "query", + "repeated": false, + "required": false + }, + "requestSyncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/people:listDirectoryPeople", + "request": false + }, + "searchContacts": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "query": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "readMask": { + "location": "query", + "repeated": false, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/people:searchContacts", + "request": false + }, + "searchDirectoryPeople": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "mergeSources": { + "location": "query", + "repeated": true, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "query": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "readMask": { + "location": "query", + "repeated": false, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + } + }, + "path": "v1/people:searchDirectoryPeople", + "request": false + }, + "updateContact": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "personFields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + }, + "updatePersonFields": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+resourceName}:updateContact", + "request": true + }, + "updateContactPhoto": { + "httpMethod": "PATCH", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + } + }, + "path": "v1/{+resourceName}:updateContactPhoto", + "request": true + } + }, + "resources": { + "connections": { + "methods": { + "list": { + "httpMethod": "GET", + "parameters": { + "$.xgafv": { + "location": "query", + "repeated": false, + "required": false + }, + "alt": { + "location": "query", + "repeated": false, + "required": false + }, + "fields": { + "location": "query", + "repeated": false, + "required": false + }, + "pageSize": { + "location": "query", + "repeated": false, + "required": false + }, + "pageToken": { + "location": "query", + "repeated": false, + "required": false + }, + "personFields": { + "location": "query", + "repeated": false, + "required": false + }, + "prettyPrint": { + "location": "query", + "repeated": false, + "required": false + }, + "quotaUser": { + "location": "query", + "repeated": false, + "required": false + }, + "requestMask.includeField": { + "location": "query", + "repeated": false, + "required": false + }, + "requestSyncToken": { + "location": "query", + "repeated": false, + "required": false + }, + "resourceName": { + "location": "path", + "repeated": false, + "required": true + }, + "sortOrder": { + "location": "query", + "repeated": false, + "required": false + }, + "sources": { + "location": "query", + "repeated": true, + "required": false + }, + "syncToken": { + "location": "query", + "repeated": false, + "required": false + } + }, + "path": "v1/{+resourceName}/connections", + "request": false + } + }, + "resources": {} + } + } + } + } + } + } +} as const; diff --git a/src/google-workspace.ts b/src/google-workspace.ts index 8a564bd..97071f4 100644 --- a/src/google-workspace.ts +++ b/src/google-workspace.ts @@ -1,20 +1,78 @@ +import type { CuratedApplicationFace } from "./application-face"; import { - GOOGLE_WORKSPACE_SERVICES, + GOOGLE_WORKSPACE_APPLICATION_ID, type GoogleWorkspaceNamespace, } from "./google-workspace.generated"; +import { GOOGLE_WORKSPACE_MEMBER_INDEX } from "./google-workspace.members.generated"; +import { GOOGLE_WORKSPACE_REQUESTS } from "./google-workspace.requests.generated"; -export * from "./google-workspace.generated"; +export type { + ApplicationCard, + ApplicationMember, + CuratedApplicationFace, +} from "./application-face"; +export type { + DriveDownloadInput, + DriveUploadInput, + GoogleCalendar, + GoogleChat, + GoogleDocs, + GoogleDrive, + GoogleGmail, + GooglePeople, + GoogleSheets, + GoogleSlides, + GoogleWorkspaceNamespace, +} from "./google-workspace.generated"; +export { GOOGLE_WORKSPACE_APPLICATION_ID }; +export { + GOOGLE_WORKSPACE_MEMBER_INDEX, + type GoogleWorkspaceMember, +} from "./google-workspace.members.generated"; +export { GOOGLE_WORKSPACE_REQUESTS } from "./google-workspace.requests.generated"; + +const RESPONSE_ERROR_LIMIT_BYTES = 64 * 1024; + +export const GOOGLE_WORKSPACE_APPLICATION_CARD = { + availability: "ready; native files", + id: GOOGLE_WORKSPACE_APPLICATION_ID, + name: "Google Workspace", + summary: + "Drive, Gmail, Calendar, Docs, Sheets, Slides, Chat, and People with native Drive transfers.", +} as const; + +export const GOOGLE_WORKSPACE_AUTH_REQUIREMENTS = { + binding: GOOGLE_WORKSPACE_APPLICATION_CARD.id, + origins: ["https://www.googleapis.com/"], + scopes: [ + "https://mail.google.com/", + "https://www.googleapis.com/auth/calendar", + "https://www.googleapis.com/auth/chat.messages", + "https://www.googleapis.com/auth/chat.spaces", + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/contacts.readonly", + "https://www.googleapis.com/auth/directory.readonly", + "https://www.googleapis.com/auth/userinfo.profile", + ], + skillNames: [GOOGLE_WORKSPACE_APPLICATION_CARD.id], +} as const; -type GoogleWorkspaceHost = { +export const GOOGLE_WORKSPACE_APPLICATION_FACE = { + card: GOOGLE_WORKSPACE_APPLICATION_CARD, + members: GOOGLE_WORKSPACE_MEMBER_INDEX, + relatedSkills: GOOGLE_WORKSPACE_AUTH_REQUIREMENTS.skillNames, +} as const satisfies CuratedApplicationFace; + +export type GoogleWorkspaceAuthorization = + | { ok: true; token: string } + | { ok: false; error: { kind: "authentication_required" } }; + +export type GoogleWorkspaceTransport = { __invalidateToken(token: string): Promise; - __token( - interactive: boolean, - ): Promise< - { ok: true; token: string } | { ok: false; error: { kind: "authentication_required" } } - >; + __token(interactive: boolean): Promise; }; -type GoogleWorkspaceFiles = { +export type GoogleWorkspaceFiles = { writeStream(input: { expectedSha256?: string; path: string; @@ -23,13 +81,13 @@ type GoogleWorkspaceFiles = { }; type GoogleParameterDescription = { - readonly location: string; + readonly location: "path" | "query"; readonly repeated: boolean; readonly required: boolean; }; type GoogleMethodDescription = { - readonly httpMethod: string; + readonly httpMethod: "DELETE" | "GET" | "HEAD" | "PATCH" | "POST" | "PUT"; readonly parameters: Readonly>; readonly path: string; readonly request: boolean; @@ -50,9 +108,9 @@ type GoogleWorkspaceServices = Readonly export function installGoogleWorkspace( target: Record, - transport: GoogleWorkspaceHost, + transport: GoogleWorkspaceTransport, workspace: GoogleWorkspaceFiles, - services: GoogleWorkspaceServices = GOOGLE_WORKSPACE_SERVICES, + services: GoogleWorkspaceServices = GOOGLE_WORKSPACE_REQUESTS, ): GoogleWorkspaceNamespace { const NativeBlob = Blob; const NativeFile = File; @@ -63,7 +121,6 @@ export function installGoogleWorkspace( const nativeFetch = fetch; const nativeJsonParse = JSON.parse; const nativeJsonStringify = JSON.stringify; - const responseErrorLimit = 64 * 1024; let token: Promise | undefined; const accessToken = (interactive: boolean) => { @@ -73,7 +130,7 @@ export function installGoogleWorkspace( .then((authorization) => { if (!authorization.ok) { throw new Error( - "Google Workspace authentication is required; call await ctx.google.authorize()", + `Google Workspace authentication is required; call await ctx.applications["${GOOGLE_WORKSPACE_APPLICATION_ID}"].authorize()`, ); } return authorization.token; @@ -96,12 +153,12 @@ export function installGoogleWorkspace( for (;;) { const { done, value } = await reader.read(); if (done) break; - const remaining = responseErrorLimit - bytes; + const remaining = RESPONSE_ERROR_LIMIT_BYTES - bytes; if (remaining <= 0) break; const chunk = value.byteLength > remaining ? value.subarray(0, remaining) : value; bytes += chunk.byteLength; - text += decoder.decode(chunk, { stream: bytes < responseErrorLimit }); - if (bytes === responseErrorLimit) break; + text += decoder.decode(chunk, { stream: bytes < RESPONSE_ERROR_LIMIT_BYTES }); + if (bytes === RESPONSE_ERROR_LIMIT_BYTES) break; } text += decoder.decode(); } finally { @@ -110,7 +167,7 @@ export function installGoogleWorkspace( return text || response.statusText || `Google Workspace request failed (${response.status})`; }; - const authenticatedFetch = async (url: string, init: RequestInit = {}) => { + const authenticatedFetch = async (url: string, init: RequestInit) => { const authorization = await accessToken(false); const headers = new NativeHeaders(init.headers); headers.set("authorization", `Bearer ${authorization}`); @@ -169,19 +226,15 @@ export function installGoogleWorkspace( service: GoogleServiceDescription, method: GoogleMethodDescription, input: Record, - options: { body?: BodyInit; path?: string } = {}, ) => { const body = - options.body ?? - (method.request && input.requestBody !== undefined + method.request && input.requestBody !== undefined ? nativeJsonStringify(input.requestBody) - : undefined); - return await authenticatedFetch(requestUrl(service, method, input, options.path), { + : undefined; + return authenticatedFetch(requestUrl(service, method, input), { + body, + headers: body === undefined ? undefined : { "content-type": "application/json" }, method: method.httpMethod, - ...(body === undefined ? {} : { body }), - ...(options.body === undefined && body !== undefined - ? { headers: { "content-type": "application/json" } } - : {}), }); }; @@ -194,7 +247,7 @@ export function installGoogleWorkspace( if (response.status === 204 || response.headers.get("content-length") === "0") return undefined; const contentType = response.headers.get("content-type") ?? ""; if (contentType.includes("json")) return nativeJsonParse(await response.text()); - return await response.blob(); + return response.blob(); }; const buildResource = ( @@ -223,55 +276,53 @@ export function installGoogleWorkspace( const driveService = services.drive; const drive = buildResource(driveService, driveService.resources); - const driveFiles = buildResource(driveService, driveService.resources.resources.files); - drive.files = driveFiles; + const driveFiles = drive.files; + if (!driveFiles || typeof driveFiles !== "object") { + throw new Error("Google Drive files resource is missing"); + } namespace.drive = () => drive; const createFile = driveService.resources.resources.files.methods.create; const getFile = driveService.resources.resources.files.methods.get; - driveFiles.upload = async (input: Record) => { - const { file, ...requestInput } = input; - if (!(file instanceof NativeFile)) { - throw new Error("drive.files.upload requires a native File"); - } - const boundary = `rook-${crypto.randomUUID()}`; - const requestBody = requestInput.requestBody ?? { name: file.name }; - const body = new NativeBlob([ - `--${boundary}\r\nContent-Type: application/json; charset=UTF-8\r\n\r\n`, - nativeJsonStringify(requestBody), - `\r\n--${boundary}\r\nContent-Type: ${file.type || "application/octet-stream"}\r\n\r\n`, - file, - `\r\n--${boundary}--\r\n`, - ]); - const response = await authenticatedFetch( - requestUrl( - driveService, - createFile, - { - ...requestInput, - fields: requestInput.fields ?? "id,name,mimeType,size,sha256Checksum", - }, - createFile.uploadPath, - ), - { + Object.assign(driveFiles, { + async upload(input: Record) { + const { file, ...requestInput } = input; + if (!(file instanceof NativeFile)) { + throw new Error("drive.files.upload requires a native File"); + } + const boundary = `rook-${crypto.randomUUID()}`; + const requestBody = requestInput.requestBody ?? { name: file.name }; + requestInput.fields ??= "id,name,mimeType,size,sha256Checksum"; + const body = new NativeBlob([ + `--${boundary}\r\nContent-Type: application/json; charset=UTF-8\r\n\r\n`, + nativeJsonStringify(requestBody), + `\r\n--${boundary}\r\nContent-Type: ${file.type || "application/octet-stream"}\r\n\r\n`, + file, + `\r\n--${boundary}--\r\n`, + ]); + const url = new NativeURL( + requestUrl(driveService, createFile, requestInput, createFile.uploadPath), + ); + url.searchParams.set("uploadType", "multipart"); + const response = await authenticatedFetch(url.href, { body, headers: { "content-type": `multipart/related; boundary=${boundary}` }, method: createFile.httpMethod, - }, - ); - return nativeJsonParse(await response.text()); - }; - driveFiles.downloadToWorkspace = async (input: Record) => { - const { path, sha256, ...requestInput } = input; - const response = await send(driveService, getFile, { ...requestInput, alt: "media" }); - if (!(response.body instanceof NativeReadableStream)) { - throw new Error("Google Drive download returned an invalid response body"); - } - return await workspace.writeStream({ - path: String(path), - stream: response.body, - ...(typeof sha256 === "string" ? { expectedSha256: sha256 } : {}), - }); - }; + }); + return nativeJsonParse(await response.text()); + }, + async downloadToWorkspace(input: Record) { + const { path, sha256, ...requestInput } = input; + const response = await send(driveService, getFile, { ...requestInput, alt: "media" }); + if (!(response.body instanceof NativeReadableStream)) { + throw new Error("Google Drive download returned an invalid response body"); + } + return workspace.writeStream({ + path: String(path), + stream: response.body, + ...(typeof sha256 === "string" ? { expectedSha256: sha256 } : {}), + }); + }, + }); Object.assign(target, namespace); return target as GoogleWorkspaceNamespace; diff --git a/test/google-workspace-application.contract.test.ts b/test/google-workspace-application.contract.test.ts new file mode 100644 index 0000000..ad51715 --- /dev/null +++ b/test/google-workspace-application.contract.test.ts @@ -0,0 +1,63 @@ +import { expect, expectTypeOf, test } from "vitest"; +import { + GOOGLE_WORKSPACE_APPLICATION_FACE, + GOOGLE_WORKSPACE_APPLICATION_CARD, + GOOGLE_WORKSPACE_APPLICATION_ID, + GOOGLE_WORKSPACE_AUTH_REQUIREMENTS, + GOOGLE_WORKSPACE_MEMBER_INDEX, + GOOGLE_WORKSPACE_REQUESTS, + type GoogleWorkspaceNamespace, +} from "@rook/google-workspace"; + +test("exports one ready Google application whose requests and members agree", () => { + expect(GOOGLE_WORKSPACE_APPLICATION_CARD).toEqual({ + availability: "ready; native files", + id: "google-workspace", + name: "Google Workspace", + summary: + "Drive, Gmail, Calendar, Docs, Sheets, Slides, Chat, and People with native Drive transfers.", + }); + expect(GOOGLE_WORKSPACE_APPLICATION_ID).toBe(GOOGLE_WORKSPACE_APPLICATION_CARD.id); + expectTypeOf< + ApplicationsNamespace[typeof GOOGLE_WORKSPACE_APPLICATION_ID] + >().toEqualTypeOf(); + expect(GOOGLE_WORKSPACE_AUTH_REQUIREMENTS.binding).toBe("google-workspace"); + expect(GOOGLE_WORKSPACE_AUTH_REQUIREMENTS.origins).toEqual(["https://www.googleapis.com/"]); + expect(GOOGLE_WORKSPACE_AUTH_REQUIREMENTS.scopes).toContain( + "https://www.googleapis.com/auth/drive", + ); + expect(GOOGLE_WORKSPACE_APPLICATION_FACE).toEqual({ + card: GOOGLE_WORKSPACE_APPLICATION_CARD, + members: GOOGLE_WORKSPACE_MEMBER_INDEX, + relatedSkills: GOOGLE_WORKSPACE_AUTH_REQUIREMENTS.skillNames, + }); + expect(GOOGLE_WORKSPACE_APPLICATION_FACE.members).toContainEqual( + expect.objectContaining({ + callPrefix: 'ctx.applications["google-workspace"].drive().files.list', + output: "unknown", + path: "drive.files.list", + }), + ); + + expect(Object.keys(GOOGLE_WORKSPACE_REQUESTS)).toEqual([ + "drive", + "gmail", + "calendar", + "docs", + "sheets", + "slides", + "chat", + "people", + ]); + expect(GOOGLE_WORKSPACE_MEMBER_INDEX).toContainEqual( + expect.objectContaining({ + effect: "read", + path: "drive.files.list", + signature: expect.stringContaining("files.list"), + }), + ); + expect(GOOGLE_WORKSPACE_MEMBER_INDEX).toContainEqual( + expect.objectContaining({ effect: "write", path: "drive.files.upload" }), + ); + expect(GOOGLE_WORKSPACE_REQUESTS.drive.resources.resources.files.methods.list).toBeDefined(); +}); diff --git a/test/google-workspace-fixture.ts b/test/google-workspace-fixture.ts index 0006edc..fecc65e 100644 --- a/test/google-workspace-fixture.ts +++ b/test/google-workspace-fixture.ts @@ -1,9 +1,13 @@ import { z } from "zod"; export const GOOGLE_WORKSPACE_TEST_BOUNDARY = "/__google_workspace__"; -export const GOOGLE_WORKSPACE_TEST_AUTHORIZATION = "Bearer browser-google-token"; +export const GOOGLE_WORKSPACE_TEST_TOKEN = "browser-google-token"; +export const GOOGLE_WORKSPACE_TEST_AUTHORIZATION = `Bearer ${GOOGLE_WORKSPACE_TEST_TOKEN}`; export const GOOGLE_WORKSPACE_TEST_FILE_ID = "disposable-drive-file"; -export const GOOGLE_WORKSPACE_TEST_FILE_SIZE = 2_100_000; +export const GOOGLE_WORKSPACE_TEST_FILE_BYTES = Uint8Array.from( + { length: 2_100_000 }, + (_, index) => index % 251, +); export const GOOGLE_WORKSPACE_TEST_FILE_SHA256 = "b80e3019363e2b6eacb38b27b2d7d0055e7a092eb205620e1b8cb592a02fc878"; @@ -16,9 +20,6 @@ export const googleWorkspaceDriveUploadReceiptSchema = z size: z.string().regex(/^\d+$/u), }) .strict(); -export type GoogleWorkspaceDriveUploadReceipt = z.infer< - typeof googleWorkspaceDriveUploadReceiptSchema ->; export const googleWorkspaceBoundaryProofSchema = z .object({ @@ -35,7 +36,7 @@ export const googleWorkspaceBoundaryProofSchema = z ), upload: z .object({ - authorization: z.string().optional(), + authorization: z.string(), name: z.string(), sha256: z.string(), size: z.number(), diff --git a/test/google-workspace.browser.test.ts b/test/google-workspace.browser.test.ts index 95b41bc..c4de6ad 100644 --- a/test/google-workspace.browser.test.ts +++ b/test/google-workspace.browser.test.ts @@ -1,11 +1,16 @@ import { afterEach, beforeEach, expect, test } from "vitest"; -import { installGoogleWorkspace, type GoogleWorkspaceNamespace } from "../src/google-workspace"; +import { + type GoogleWorkspaceFiles, + type GoogleWorkspaceTransport, + installGoogleWorkspace, +} from "@rook/google-workspace"; import { GOOGLE_WORKSPACE_TEST_BOUNDARY, GOOGLE_WORKSPACE_TEST_AUTHORIZATION, + GOOGLE_WORKSPACE_TEST_FILE_BYTES, GOOGLE_WORKSPACE_TEST_FILE_ID, GOOGLE_WORKSPACE_TEST_FILE_SHA256, - GOOGLE_WORKSPACE_TEST_FILE_SIZE, + GOOGLE_WORKSPACE_TEST_TOKEN, googleWorkspaceBoundaryProofSchema, googleWorkspaceDriveUploadReceiptSchema, } from "./google-workspace-fixture"; @@ -38,22 +43,22 @@ test("moves 2.1 MB through native File, Blob, and ReadableStream values", async location.href, ); if (providerUrl.origin !== "https://www.googleapis.com") { - return await browserFetch(input, init); + return browserFetch(input, init); } - return await browserFetch( + return browserFetch( `${GOOGLE_WORKSPACE_TEST_BOUNDARY}${providerUrl.pathname}${providerUrl.search}`, init, ); }; - const google: Parameters[1] = { + const google: GoogleWorkspaceTransport = { async __invalidateToken(token) { invalidated.push(token); }, async __token() { - return { ok: true, token: "browser-google-token" }; + return { ok: true, token: GOOGLE_WORKSPACE_TEST_TOKEN }; }, }; - const workspace: Parameters[2] = { + const workspace: GoogleWorkspaceFiles = { async writeStream({ path, stream, expectedSha256 }) { sawNativeDownloadStream = stream instanceof ReadableStream; const reader = stream.getReader(); @@ -80,13 +85,13 @@ test("moves 2.1 MB through native File, Blob, and ReadableStream values", async }, }; - const client: GoogleWorkspaceNamespace = installGoogleWorkspace({}, google, workspace); + const client = installGoogleWorkspace({}, google, workspace); expect(client).not.toHaveProperty("__token"); expect(client).not.toHaveProperty("__invalidateToken"); const drive = client.drive(); - const bytes = new Uint8Array(GOOGLE_WORKSPACE_TEST_FILE_SIZE); - for (let index = 0; index < bytes.length; index += 1) bytes[index] = index % 251; - const file = new File([bytes], "regression.bin", { type: "application/octet-stream" }); + const file = new File([GOOGLE_WORKSPACE_TEST_FILE_BYTES], "regression.bin", { + type: "application/octet-stream", + }); const uploaded = googleWorkspaceDriveUploadReceiptSchema.parse( await drive.files.upload({ file }), ); @@ -97,6 +102,9 @@ test("moves 2.1 MB through native File, Blob, and ReadableStream values", async }); const removed = await drive.files.delete({ fileId: uploaded.id }); await expect(drive.files.delete({ fileId: "unauthorized" })).rejects.toThrow("expired token"); + const text = "Rook text upload regression\n"; + const textFile = new File([text], "regression.txt", { type: "text/plain" }); + await drive.files.upload({ file: textFile }); const proof = googleWorkspaceBoundaryProofSchema.parse( await fetch(`${GOOGLE_WORKSPACE_TEST_BOUNDARY}/proof`).then((response) => response.json()), ); @@ -109,27 +117,27 @@ test("moves 2.1 MB through native File, Blob, and ReadableStream values", async mimeType: "application/octet-stream", name: "regression.bin", sha256Checksum: GOOGLE_WORKSPACE_TEST_FILE_SHA256, - size: String(GOOGLE_WORKSPACE_TEST_FILE_SIZE), + size: String(GOOGLE_WORKSPACE_TEST_FILE_BYTES.byteLength), }); expect(receipt).toEqual({ path: "/downloads/regression.bin", sha256: GOOGLE_WORKSPACE_TEST_FILE_SHA256, - size: GOOGLE_WORKSPACE_TEST_FILE_SIZE, + size: GOOGLE_WORKSPACE_TEST_FILE_BYTES.byteLength, }); const downloadedBytes = downloaded.get(receipt.path); expect(downloadedBytes).toBeInstanceOf(Uint8Array); if (!downloadedBytes) throw new Error("Downloaded workspace bytes are missing"); expect(await sha256(downloadedBytes)).toBe(GOOGLE_WORKSPACE_TEST_FILE_SHA256); expect(removed).toBeUndefined(); - expect(invalidated).toEqual([GOOGLE_WORKSPACE_TEST_AUTHORIZATION.replace("Bearer ", "")]); + expect(invalidated).toEqual([GOOGLE_WORKSPACE_TEST_TOKEN]); expect(proof).toEqual({ - calls: ["upload", "download", "delete", "unauthorized"], + calls: ["upload", "download", "delete", "unauthorized", "upload"], requests: [], upload: { authorization: GOOGLE_WORKSPACE_TEST_AUTHORIZATION, - name: "regression.bin", - sha256: GOOGLE_WORKSPACE_TEST_FILE_SHA256, - size: GOOGLE_WORKSPACE_TEST_FILE_SIZE, + name: textFile.name, + sha256: await sha256(new TextEncoder().encode(text)), + size: textFile.size, }, }); }); @@ -142,9 +150,9 @@ test("builds every Workspace service request from Google's Discovery surface", a location.href, ); if (!providerUrl.hostname.endsWith("googleapis.com")) { - return await browserFetch(input, init); + return browserFetch(input, init); } - return await browserFetch( + return browserFetch( `${GOOGLE_WORKSPACE_TEST_BOUNDARY}/api${providerUrl.pathname}${providerUrl.search}`, init, ); @@ -155,7 +163,7 @@ test("builds every Workspace service request from Google's Discovery surface", a async __invalidateToken() {}, async __token(interactive) { tokenRequests.push(interactive); - return { ok: true, token: "browser-google-token" }; + return { ok: true, token: GOOGLE_WORKSPACE_TEST_TOKEN }; }, }, { diff --git a/vite.config.ts b/vite.config.ts index 3f93153..ad7eeec 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -1,11 +1,23 @@ import { defineConfig } from "vite-plus"; -const generated = ["discovery/*.json", "src/google-workspace.generated.ts"]; +const generated = ["discovery/*.json", "dist/**", "src/google-workspace*.generated.ts"]; export default defineConfig({ staged: { "*.{js,json,md,mjs,ts,yaml,yml}": "vp check --fix", }, + pack: { + entry: ["src/google-workspace.ts"], + format: ["esm"], + platform: "browser", + dts: true, + clean: true, + minify: false, + sourcemap: false, + target: "esnext", + treeshake: true, + tsconfig: "./tsconfig.json", + }, fmt: { ignorePatterns: generated }, lint: { ignorePatterns: generated, diff --git a/vitest.browser.config.ts b/vitest.browser.config.ts index ba0cb3d..9ae235b 100644 --- a/vitest.browser.config.ts +++ b/vitest.browser.config.ts @@ -7,15 +7,12 @@ import { GOOGLE_WORKSPACE_TEST_BOUNDARY, GOOGLE_WORKSPACE_TEST_AUTHORIZATION, type GoogleWorkspaceBoundaryProof, + GOOGLE_WORKSPACE_TEST_FILE_BYTES, GOOGLE_WORKSPACE_TEST_FILE_ID, - GOOGLE_WORKSPACE_TEST_FILE_SIZE, googleWorkspaceBoundaryProofSchema, googleWorkspaceDriveUploadReceiptSchema, } from "./test/google-workspace-fixture.ts"; -const fileBytes = Buffer.allocUnsafe(GOOGLE_WORKSPACE_TEST_FILE_SIZE); -for (let index = 0; index < fileBytes.length; index += 1) fileBytes[index] = index % 251; - const proof: GoogleWorkspaceBoundaryProof = { calls: [], requests: [], upload: null }; async function readBody(request: IncomingMessage): Promise { @@ -29,120 +26,116 @@ function json(response: ServerResponse, value: unknown): void { response.end(JSON.stringify(value)); } -function googleWorkspaceBoundary(): Plugin { - return { - name: "google-workspace-test-boundary", - configureServer(server) { - server.middlewares.use(async (request, response, next) => { - const url = new URL(request.url ?? "/", "http://localhost"); - if (!url.pathname.startsWith(GOOGLE_WORKSPACE_TEST_BOUNDARY)) return next(); - const providerPath = url.pathname.slice(GOOGLE_WORKSPACE_TEST_BOUNDARY.length); +const googleWorkspaceBoundary: Plugin = { + name: "google-workspace-test-boundary", + configureServer(server) { + server.middlewares.use(async (request, response, next) => { + const url = new URL(request.url ?? "/", "http://localhost"); + if (!url.pathname.startsWith(GOOGLE_WORKSPACE_TEST_BOUNDARY)) return next(); + const providerPath = url.pathname.slice(GOOGLE_WORKSPACE_TEST_BOUNDARY.length); - if (providerPath === "/reset") { - proof.calls = []; - proof.requests = []; - proof.upload = null; - return json(response, { reset: true }); - } - if (providerPath === "/proof") { - return json(response, googleWorkspaceBoundaryProofSchema.parse(proof)); - } + if (providerPath === "/reset") { + proof.calls = []; + proof.requests = []; + proof.upload = null; + return json(response, { reset: true }); + } + if (providerPath === "/proof") { + return json(response, googleWorkspaceBoundaryProofSchema.parse(proof)); + } - if (request.headers.authorization !== GOOGLE_WORKSPACE_TEST_AUTHORIZATION) { - response.writeHead(401).end("unauthorized"); - return; - } + if (request.headers.authorization !== GOOGLE_WORKSPACE_TEST_AUTHORIZATION) { + response.writeHead(401).end("unauthorized"); + return; + } - if (providerPath === "/drive/v3/files/unauthorized") { - proof.calls.push("unauthorized"); - response.writeHead(401).end("expired token"); - return; - } + if (providerPath === "/drive/v3/files/unauthorized") { + proof.calls.push("unauthorized"); + response.writeHead(401).end("expired token"); + return; + } - if (providerPath === "/upload/drive/v3/files" && request.method === "POST") { - const body = await readBody(request); - const contentType = request.headers["content-type"] ?? ""; - const boundary = /boundary=([^;]+)/u.exec(contentType)?.[1]; - if (!boundary) throw new Error("Drive upload carried no multipart boundary"); - const separator = Buffer.from("\r\n\r\n"); - const metadataEnd = body.indexOf(Buffer.from(`\r\n--${boundary}`)); - const metadataStart = body.indexOf(separator) + separator.length; - const metadata: unknown = JSON.parse( - body.subarray(metadataStart, metadataEnd).toString(), - ); - if ( - typeof metadata !== "object" || - metadata === null || - !("name" in metadata) || - typeof metadata.name !== "string" - ) { - throw new Error("Drive upload carried invalid metadata"); - } - const fileHeader = body.indexOf(Buffer.from("Content-Type: application/octet-stream")); - const fileStart = body.indexOf(separator, fileHeader) + separator.length; - const fileEnd = body.indexOf(Buffer.from(`\r\n--${boundary}--`), fileStart); - const file = body.subarray(fileStart, fileEnd); - proof.calls.push("upload"); - proof.upload = { - ...(typeof request.headers.authorization === "string" - ? { authorization: request.headers.authorization } - : {}), - name: metadata.name, - sha256: createHash("sha256").update(file).digest("hex"), - size: file.byteLength, - }; - return json( - response, - googleWorkspaceDriveUploadReceiptSchema.parse({ - id: GOOGLE_WORKSPACE_TEST_FILE_ID, - mimeType: "application/octet-stream", - name: metadata.name, - sha256Checksum: proof.upload.sha256, - size: String(file.byteLength), - }), - ); + if (providerPath === "/upload/drive/v3/files" && request.method === "POST") { + if (url.searchParams.get("uploadType") !== "multipart") { + throw new Error("Drive upload did not declare uploadType=multipart"); } - + const body = await readBody(request); + const contentType = request.headers["content-type"] ?? ""; + const boundary = /boundary=([^;]+)/u.exec(contentType)?.[1]; + if (!boundary) throw new Error("Drive upload carried no multipart boundary"); + const separator = Buffer.from("\r\n\r\n"); + const metadataEnd = body.indexOf(Buffer.from(`\r\n--${boundary}`)); + const metadataStart = body.indexOf(separator) + separator.length; + const metadata: unknown = JSON.parse(body.subarray(metadataStart, metadataEnd).toString()); if ( - providerPath === `/drive/v3/files/${GOOGLE_WORKSPACE_TEST_FILE_ID}` && - url.searchParams.has("alt") + typeof metadata !== "object" || + metadata === null || + !("name" in metadata) || + typeof metadata.name !== "string" ) { - proof.calls.push("download"); - response.writeHead(200, { "content-type": "application/octet-stream" }); - response.end(fileBytes); - return; + throw new Error("Drive upload carried invalid metadata"); } + const fileStart = body.indexOf(separator, metadataEnd) + separator.length; + const fileEnd = body.indexOf(Buffer.from(`\r\n--${boundary}--`), fileStart); + const file = body.subarray(fileStart, fileEnd); + proof.calls.push("upload"); + proof.upload = { + authorization: request.headers.authorization, + name: metadata.name, + sha256: createHash("sha256").update(file).digest("hex"), + size: file.byteLength, + }; + return json( + response, + googleWorkspaceDriveUploadReceiptSchema.parse({ + id: GOOGLE_WORKSPACE_TEST_FILE_ID, + mimeType: "application/octet-stream", + name: metadata.name, + sha256Checksum: proof.upload.sha256, + size: String(file.byteLength), + }), + ); + } - if ( - providerPath === `/drive/v3/files/${GOOGLE_WORKSPACE_TEST_FILE_ID}` && - request.method === "DELETE" - ) { - proof.calls.push("delete"); - response.writeHead(204).end(); - return; - } + if ( + providerPath === `/drive/v3/files/${GOOGLE_WORKSPACE_TEST_FILE_ID}` && + url.searchParams.has("alt") + ) { + proof.calls.push("download"); + response.writeHead(200, { "content-type": "application/octet-stream" }); + response.end(GOOGLE_WORKSPACE_TEST_FILE_BYTES); + return; + } - if (providerPath.startsWith("/api/")) { - const body = request.headers["content-type"]?.includes("application/json") - ? JSON.parse((await readBody(request)).toString()) - : undefined; - proof.requests.push({ - ...(body === undefined ? {} : { body }), - method: request.method ?? "GET", - path: providerPath.slice(4), - query: url.searchParams.toString(), - }); - return json(response, { ok: true }); - } + if ( + providerPath === `/drive/v3/files/${GOOGLE_WORKSPACE_TEST_FILE_ID}` && + request.method === "DELETE" + ) { + proof.calls.push("delete"); + response.writeHead(204).end(); + return; + } - response.writeHead(404).end(); - }); - }, - }; -} + if (providerPath.startsWith("/api/")) { + const body = request.headers["content-type"]?.includes("application/json") + ? JSON.parse((await readBody(request)).toString()) + : undefined; + proof.requests.push({ + ...(body === undefined ? {} : { body }), + method: request.method ?? "GET", + path: providerPath.slice(4), + query: url.searchParams.toString(), + }); + return json(response, { ok: true }); + } + + response.writeHead(404).end(); + }); + }, +}; export default defineConfig({ - plugins: [googleWorkspaceBoundary()], + plugins: [googleWorkspaceBoundary], optimizeDeps: { include: ["zod"] }, test: { include: ["test/**/*.browser.test.ts"],