openapi: "3.0"
info:
title: Google Drive API
description: The Google Drive API allows clients to access resources from Google Drive.
version: v3
servers:
- url: https://www.googleapis.com/drive/v3/
paths:
/files/trash:
delete:
description: 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).
operationId: drive.files.emptyTrash
parameters:
- name: driveId
in: query
description: If set, empties the trash of the provided shared drive.
schema:
type: string
- name: enforceSingleParent
in: query
description: '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.'
schema:
type: boolean
responses:
default:
description: Successful operation
/files:
get:
description: ' 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.'
operationId: drive.files.list
parameters:
- name: corpora
in: query
description: '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).'
schema:
type: string
- name: corpus
in: query
description: 'Deprecated: The source of files to list. Use `corpora` instead.'
schema:
type: string
- name: orderBy
in: query
description: '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` 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`.'
schema:
type: string
- name: q
in: query
description: A query for filtering the file results. For supported syntax, see [Search for files and folders](/workspace/drive/api/guides/search-files).
schema:
type: string
- name: includeItemsFromAllDrives
in: query
description: Whether both My Drive and shared drive items should be included in results.
schema:
type: boolean
- name: teamDriveId
in: query
description: 'Deprecated: Use `driveId` instead.'
schema:
type: string
- name: driveId
in: query
description: ID of the shared drive to search.
schema:
type: string
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
- name: spaces
in: query
description: 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).
schema:
type: string
- name: includeTeamDriveItems
in: query
description: 'Deprecated: Use `includeItemsFromAllDrives` instead.'
schema:
type: boolean
- name: pageSize
in: query
description: The maximum number of files to return per page. Partial or empty result pages are possible even before the end of the files list has been reached.
schema:
type: integer
format: int32
- name: pageToken
in: query
description: 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.
schema:
type: string
- name: includeLabels
in: query
description: A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.
schema:
type: string
- name: includePermissionsForView
in: query
description: Specifies which additional view's permissions to include in the response. Only `published` is supported.
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/FileList'
post:
description: ' 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.'
operationId: drive.files.create
parameters:
- name: useContentAsIndexableText
in: query
description: Whether to use the uploaded content as indexable text.
schema:
type: boolean
- name: ocrLanguage
in: query
description: A language hint for OCR processing during image import (ISO 639-1 code).
schema:
type: string
- name: keepRevisionForever
in: query
description: 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.
schema:
type: boolean
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
- name: enforceSingleParent
in: query
description: 'Deprecated: Creating files in multiple folders is no longer supported.'
schema:
type: boolean
- name: ignoreDefaultVisibility
in: query
description: 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.
schema:
type: boolean
- name: includeLabels
in: query
description: A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.
schema:
type: string
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: includePermissionsForView
in: query
description: Specifies which additional view's permissions to include in the response. Only `published` is supported.
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/File'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/File'
/files/{fileId}/watch:
post:
description: Subscribes to changes to a file. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).
operationId: drive.files.watch
parameters:
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: acknowledgeAbuse
in: query
description: 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.
schema:
type: boolean
- name: includeLabels
in: query
description: A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.
schema:
type: string
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: includePermissionsForView
in: query
description: Specifies which additional view's permissions to include in the response. Only `published` is supported.
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/Channel'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Channel'
/files/{fileId}:
get:
description: ' 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).'
operationId: drive.files.get
parameters:
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: includePermissionsForView
in: query
description: Specifies which additional view's permissions to include in the response. Only `published` is supported.
schema:
type: string
- name: includeLabels
in: query
description: A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.
schema:
type: string
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: acknowledgeAbuse
in: query
description: 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.
schema:
type: boolean
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/File'
delete:
description: 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.
operationId: drive.files.delete
parameters:
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: enforceSingleParent
in: query
description: '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.'
schema:
type: boolean
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
responses:
default:
description: Successful operation
patch:
description: ' 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).'
operationId: drive.files.update
parameters:
- name: keepRevisionForever
in: query
description: 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.
schema:
type: boolean
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
- name: enforceSingleParent
in: query
description: 'Deprecated: Adding files to multiple folders is no longer supported. Use shortcuts instead.'
schema:
type: boolean
- name: addParents
in: query
description: A comma-separated list of parent IDs to add.
schema:
type: string
- name: useContentAsIndexableText
in: query
description: Whether to use the uploaded content as indexable text.
schema:
type: boolean
- name: ocrLanguage
in: query
description: A language hint for OCR processing during image import (ISO 639-1 code).
schema:
type: string
- name: removeParents
in: query
description: A comma-separated list of parent IDs to remove.
schema:
type: string
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: includeLabels
in: query
description: A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.
schema:
type: string
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: includePermissionsForView
in: query
description: Specifies which additional view's permissions to include in the response. Only `published` is supported.
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/File'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/File'
/files/{fileId}/listLabels:
get:
description: 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).
operationId: drive.files.listLabels
parameters:
- name: fileId
in: path
description: The ID for the file.
required: true
schema:
type: string
- name: maxResults
in: query
description: The maximum number of labels to return per page. When not set, defaults to 100.
schema:
type: integer
format: int32
- name: pageToken
in: query
description: 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.
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/LabelList'
/files/{fileId}/modifyLabels:
post:
description: 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.
operationId: drive.files.modifyLabels
parameters:
- name: fileId
in: path
description: The ID of the file to which the labels belong.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/ModifyLabelsRequest'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/ModifyLabelsResponse'
/files/generateIds:
get:
description: 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).
operationId: drive.files.generateIds
parameters:
- name: space
in: query
description: '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).'
schema:
type: string
- name: type
in: query
description: '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).'
schema:
type: string
- name: count
in: query
description: The number of IDs to return.
schema:
type: integer
format: int32
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/GeneratedIds'
/files/{fileId}/export:
get:
description: 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.
operationId: drive.files.export
parameters:
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: mimeType
in: query
description: 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).
required: true
schema:
type: string
responses:
default:
description: Successful operation
/files/{fileId}/download:
post:
description: 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.
operationId: drive.files.download
parameters:
- name: mimeType
in: query
description: 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.
schema:
type: string
- name: fileId
in: path
description: Required. The ID of the file to download.
required: true
schema:
type: string
- name: revisionId
in: query
description: 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.
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Operation'
/files/{fileId}/copy:
post:
description: 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).
operationId: drive.files.copy
parameters:
- name: ocrLanguage
in: query
description: A language hint for OCR processing during image import (ISO 639-1 code).
schema:
type: string
- name: enforceSingleParent
in: query
description: 'Deprecated: Copying files into multiple folders is no longer supported. Use shortcuts instead.'
schema:
type: boolean
- name: ignoreDefaultVisibility
in: query
description: 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.
schema:
type: boolean
- name: keepRevisionForever
in: query
description: 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.
schema:
type: boolean
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: includePermissionsForView
in: query
description: Specifies which additional view's permissions to include in the response. Only `published` is supported.
schema:
type: string
- name: includeLabels
in: query
description: A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.
schema:
type: string
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/File'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/File'
/files/{fileId}/accessproposals:
get:
description: '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.'
operationId: drive.accessproposals.list
parameters:
- name: pageSize
in: query
description: Optional. The number of results per page.
schema:
type: integer
format: int32
- name: fileId
in: path
description: Required. The ID of the item the request is on.
required: true
schema:
type: string
- name: pageToken
in: query
description: Optional. The continuation token on the list of access requests.
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/ListAccessProposalsResponse'
/files/{fileId}/accessproposals/{proposalId}:resolve:
post:
description: Approves or denies an access proposal. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access).
operationId: drive.accessproposals.resolve
parameters:
- name: fileId
in: path
description: Required. The ID of the item the request is on.
required: true
schema:
type: string
- name: proposalId
in: path
description: Required. The ID of the access proposal to resolve.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/ResolveAccessProposalRequest'
responses:
default:
description: Successful operation
/files/{fileId}/accessproposals/{proposalId}:
get:
description: Retrieves an access proposal by ID. For more information, see [Manage pending access proposals](https://developers.google.com/workspace/drive/api/guides/pending-access).
operationId: drive.accessproposals.get
parameters:
- name: proposalId
in: path
description: Required. The ID of the access proposal to resolve.
required: true
schema:
type: string
- name: fileId
in: path
description: Required. The ID of the item the request is on.
required: true
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/AccessProposal'
/changes/startPageToken:
get:
description: Gets the starting pageToken for listing future changes. For more information, see [Retrieve changes](https://developers.google.com/workspace/drive/api/guides/manage-changes).
operationId: drive.changes.getStartPageToken
parameters:
- name: driveId
in: query
description: The ID of the shared drive for which the starting pageToken for listing future changes from that shared drive will be returned.
schema:
type: string
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: teamDriveId
in: query
description: 'Deprecated: Use `driveId` instead.'
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/StartPageToken'
/changes/watch:
post:
description: Subscribes to changes for a user. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).
operationId: drive.changes.watch
parameters:
- name: pageSize
in: query
description: The maximum number of changes to return per page.
schema:
type: integer
format: int32
- name: pageToken
in: query
description: 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.
required: true
schema:
type: string
- name: includeRemoved
in: query
description: Whether to include changes indicating that items have been removed from the list of changes, for example by deletion or loss of access.
schema:
type: boolean
- name: includePermissionsForView
in: query
description: Specifies which additional view's permissions to include in the response. Only 'published' is supported.
schema:
type: string
- name: includeLabels
in: query
description: A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.
schema:
type: string
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
- name: includeTeamDriveItems
in: query
description: 'Deprecated: Use `includeItemsFromAllDrives` instead.'
schema:
type: boolean
- name: spaces
in: query
description: A comma-separated list of spaces to query within the corpora. Supported values are 'drive' and 'appDataFolder'.
schema:
type: string
- name: teamDriveId
in: query
description: 'Deprecated: Use `driveId` instead.'
schema:
type: string
- name: includeCorpusRemovals
in: query
description: 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.
schema:
type: boolean
- name: includeItemsFromAllDrives
in: query
description: Whether both My Drive and shared drive items should be included in results.
schema:
type: boolean
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: driveId
in: query
description: 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.
schema:
type: string
- name: restrictToMyDrive
in: query
description: 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.
schema:
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/Channel'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Channel'
/changes:
get:
description: 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).
operationId: drive.changes.list
parameters:
- name: spaces
in: query
description: A comma-separated list of spaces to query within the corpora. Supported values are 'drive' and 'appDataFolder'.
schema:
type: string
- name: includeTeamDriveItems
in: query
description: 'Deprecated: Use `includeItemsFromAllDrives` instead.'
schema:
type: boolean
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
- name: includeLabels
in: query
description: A comma-separated list of IDs of labels to include in the `labelInfo` part of the response.
schema:
type: string
- name: includePermissionsForView
in: query
description: Specifies which additional view's permissions to include in the response. Only 'published' is supported.
schema:
type: string
- name: includeRemoved
in: query
description: Whether to include changes indicating that items have been removed from the list of changes, for example by deletion or loss of access.
schema:
type: boolean
- name: pageSize
in: query
description: The maximum number of changes to return per page.
schema:
type: integer
format: int32
- name: pageToken
in: query
description: 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.
required: true
schema:
type: string
- name: driveId
in: query
description: 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.
schema:
type: string
- name: restrictToMyDrive
in: query
description: 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.
schema:
type: boolean
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: includeCorpusRemovals
in: query
description: 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.
schema:
type: boolean
- name: includeItemsFromAllDrives
in: query
description: Whether both My Drive and shared drive items should be included in results.
schema:
type: boolean
- name: teamDriveId
in: query
description: 'Deprecated: Use `driveId` instead.'
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/ChangeList'
/apps/{appId}:
get:
description: Gets a specific app. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info).
operationId: drive.apps.get
parameters:
- name: appId
in: path
description: The ID of the app.
required: true
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/App'
/apps:
get:
description: Lists a user's installed apps. For more information, see [Return user info](https://developers.google.com/workspace/drive/api/guides/user-info).
operationId: drive.apps.list
parameters:
- name: languageCode
in: query
description: A language or locale code, as defined by BCP 47, with some extensions from Unicode's LDML format (http://www.unicode.org/reports/tr35/).
schema:
type: string
- name: appFilterExtensions
in: query
description: 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.
schema:
type: string
- name: appFilterMimeTypes
in: query
description: 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.
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/AppList'
/files/{fileId}/permissions/{permissionId}:
get:
description: Gets a permission by ID. For more information, see [Share files, folders, and drives](https://developers.google.com/workspace/drive/api/guides/manage-sharing).
operationId: drive.permissions.get
parameters:
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: permissionId
in: path
description: The ID of the permission.
required: true
schema:
type: string
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
- name: useDomainAdminAccess
in: query
description: '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).'
schema:
type: boolean
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Permission'
delete:
description: 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.
operationId: drive.permissions.delete
parameters:
- name: enforceExpansiveAccess
in: query
description: 'Deprecated: All requests use the expansive access rules.'
schema:
type: boolean
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: fileId
in: path
description: The ID of the file or shared drive.
required: true
schema:
type: string
- name: permissionId
in: path
description: The ID of the permission.
required: true
schema:
type: string
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
- name: useDomainAdminAccess
in: query
description: '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).'
schema:
type: boolean
responses:
default:
description: Successful operation
patch:
description: 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.
operationId: drive.permissions.update
parameters:
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: enforceExpansiveAccess
in: query
description: 'Deprecated: All requests use the expansive access rules.'
schema:
type: boolean
- name: removeExpiration
in: query
description: Whether to remove the expiration date.
schema:
type: boolean
- name: transferOwnership
in: query
description: 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).
schema:
type: boolean
- name: fileId
in: path
description: The ID of the file or shared drive.
required: true
schema:
type: string
- name: permissionId
in: path
description: The ID of the permission.
required: true
schema:
type: string
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
- name: useDomainAdminAccess
in: query
description: '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).'
schema:
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/Permission'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Permission'
/files/{fileId}/permissions:
get:
description: 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).
operationId: drive.permissions.list
parameters:
- name: pageSize
in: query
description: The maximum number of permissions to return per page. When not set for files in a shared drive, at most 100 results will be returned. When not set for files that are not in a shared drive, the entire list will be returned.
schema:
type: integer
format: int32
- name: fileId
in: path
description: The ID of the file or shared drive.
required: true
schema:
type: string
- name: pageToken
in: query
description: 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.
schema:
type: string
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
- name: useDomainAdminAccess
in: query
description: '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).'
schema:
type: boolean
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: includePermissionsForView
in: query
description: Specifies which additional view's permissions to include in the response. Only `published` is supported.
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/PermissionList'
post:
description: 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.
operationId: drive.permissions.create
parameters:
- name: transferOwnership
in: query
description: 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).
schema:
type: boolean
- name: enforceExpansiveAccess
in: query
description: 'Deprecated: All requests use the expansive access rules.'
schema:
type: boolean
- name: supportsAllDrives
in: query
description: Whether the requesting application supports both My Drives and shared drives.
schema:
type: boolean
- name: useDomainAdminAccess
in: query
description: '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).'
schema:
type: boolean
- name: emailMessage
in: query
description: A plain text custom message to include in the notification email.
schema:
type: string
- name: enforceSingleParent
in: query
description: 'Deprecated: See `moveToNewOwnersRoot` for details.'
schema:
type: boolean
- name: sendNotificationEmail
in: query
description: 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.
schema:
type: boolean
- name: supportsTeamDrives
in: query
description: 'Deprecated: Use `supportsAllDrives` instead.'
schema:
type: boolean
- name: moveToNewOwnersRoot
in: query
description: 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.
schema:
type: boolean
- name: fileId
in: path
description: The ID of the file or shared drive.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/Permission'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Permission'
/operations/{name}:
get:
description: 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.
operationId: drive.operations.get
parameters:
- name: name
in: path
description: The name of the operation resource.
required: true
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Operation'
/files/{fileId}/comments/{commentId}:
get:
description: '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).'
operationId: drive.comments.get
parameters:
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: commentId
in: path
description: The ID of the comment.
required: true
schema:
type: string
- name: includeDeleted
in: query
description: Whether to return deleted comments. Deleted comments will not include their original content.
schema:
type: boolean
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Comment'
delete:
description: Deletes a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
operationId: drive.comments.delete
parameters:
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: commentId
in: path
description: The ID of the comment.
required: true
schema:
type: string
responses:
default:
description: Successful operation
patch:
description: '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).'
operationId: drive.comments.update
parameters:
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: commentId
in: path
description: The ID of the comment.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/Comment'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Comment'
/files/{fileId}/comments:
get:
description: '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).'
operationId: drive.comments.list
parameters:
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: pageToken
in: query
description: 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.
schema:
type: string
- name: pageSize
in: query
description: The maximum number of comments to return per page.
schema:
type: integer
format: int32
- name: startModifiedTime
in: query
description: The minimum value of 'modifiedTime' for the result comments (RFC 3339 date-time).
schema:
type: string
- name: includeDeleted
in: query
description: Whether to include deleted comments. Deleted comments will not include their original content.
schema:
type: boolean
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/CommentList'
post:
description: '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).'
operationId: drive.comments.create
parameters:
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/Comment'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Comment'
/about:
get:
description: '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).'
operationId: drive.about.get
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/About'
/drives/{driveId}:
get:
description: 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).
operationId: drive.drives.get
parameters:
- name: driveId
in: path
description: The ID of the shared drive.
required: true
schema:
type: string
- name: useDomainAdminAccess
in: query
description: 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.
schema:
type: boolean
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Drive'
delete:
description: 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).
operationId: drive.drives.delete
parameters:
- name: allowItemDeletion
in: query
description: Whether any items inside the shared drive should also be deleted. This option is only supported when `useDomainAdminAccess` is also set to `true`.
schema:
type: boolean
- name: driveId
in: path
description: The ID of the shared drive.
required: true
schema:
type: string
- name: useDomainAdminAccess
in: query
description: 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.
schema:
type: boolean
responses:
default:
description: Successful operation
patch:
description: Updates the metadata for a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).
operationId: drive.drives.update
parameters:
- name: driveId
in: path
description: The ID of the shared drive.
required: true
schema:
type: string
- name: useDomainAdminAccess
in: query
description: 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.
schema:
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/Drive'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Drive'
/drives/{driveId}/unhide:
post:
description: 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).
operationId: drive.drives.unhide
parameters:
- name: driveId
in: path
description: The ID of the shared drive.
required: true
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Drive'
/drives:
get:
description: ' 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.'
operationId: drive.drives.list
parameters:
- name: pageSize
in: query
description: Maximum number of shared drives to return per page.
schema:
type: integer
format: int32
- name: pageToken
in: query
description: Page token for shared drives.
schema:
type: string
- name: q
in: query
description: Query string for searching shared drives.
schema:
type: string
- name: useDomainAdminAccess
in: query
description: 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.
schema:
type: boolean
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/DriveList'
post:
description: Creates a shared drive. For more information, see [Manage shared drives](https://developers.google.com/workspace/drive/api/guides/manage-shareddrives).
operationId: drive.drives.create
parameters:
- name: requestId
in: query
description: 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.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/Drive'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Drive'
/drives/{driveId}/hide:
post:
description: 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).
operationId: drive.drives.hide
parameters:
- name: driveId
in: path
description: The ID of the shared drive.
required: true
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Drive'
/files/{fileId}/comments/{commentId}/replies:
get:
description: Lists a comment's replies. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
operationId: drive.replies.list
parameters:
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: pageToken
in: query
description: 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.
schema:
type: string
- name: commentId
in: path
description: The ID of the comment.
required: true
schema:
type: string
- name: pageSize
in: query
description: The maximum number of replies to return per page.
schema:
type: integer
format: int32
- name: includeDeleted
in: query
description: Whether to include deleted replies. Deleted replies don't include their original content.
schema:
type: boolean
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/ReplyList'
post:
description: Creates a reply to a comment. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
operationId: drive.replies.create
parameters:
- name: commentId
in: path
description: The ID of the comment.
required: true
schema:
type: string
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/Reply'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Reply'
/files/{fileId}/comments/{commentId}/replies/{replyId}:
get:
description: Gets a reply by ID. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
operationId: drive.replies.get
parameters:
- name: includeDeleted
in: query
description: Whether to return deleted replies. Deleted replies don't include their original content.
schema:
type: boolean
- name: replyId
in: path
description: The ID of the reply.
required: true
schema:
type: string
- name: commentId
in: path
description: The ID of the comment.
required: true
schema:
type: string
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Reply'
delete:
description: Deletes a reply. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
operationId: drive.replies.delete
parameters:
- name: replyId
in: path
description: The ID of the reply.
required: true
schema:
type: string
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: commentId
in: path
description: The ID of the comment.
required: true
schema:
type: string
responses:
default:
description: Successful operation
patch:
description: Updates a reply with patch semantics. For more information, see [Manage comments and replies](https://developers.google.com/workspace/drive/api/guides/manage-comments).
operationId: drive.replies.update
parameters:
- name: commentId
in: path
description: The ID of the comment.
required: true
schema:
type: string
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: replyId
in: path
description: The ID of the reply.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/Reply'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Reply'
/files/{fileId}/revisions/{revisionId}:
get:
description: 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).
operationId: drive.revisions.get
parameters:
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: revisionId
in: path
description: The ID of the revision.
required: true
schema:
type: string
- name: acknowledgeAbuse
in: query
description: 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.
schema:
type: boolean
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Revision'
delete:
description: 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).
operationId: drive.revisions.delete
parameters:
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: revisionId
in: path
description: The ID of the revision.
required: true
schema:
type: string
responses:
default:
description: Successful operation
patch:
description: Updates a revision with patch semantics. For more information, see [Manage file revisions](https://developers.google.com/workspace/drive/api/guides/manage-revisions).
operationId: drive.revisions.update
parameters:
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: revisionId
in: path
description: The ID of the revision.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/Revision'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Revision'
/files/{fileId}/revisions:
get:
description: 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.
operationId: drive.revisions.list
parameters:
- name: fileId
in: path
description: The ID of the file.
required: true
schema:
type: string
- name: pageToken
in: query
description: 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.
schema:
type: string
- name: pageSize
in: query
description: The maximum number of revisions to return per page.
schema:
type: integer
format: int32
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/RevisionList'
/teamdrives/{teamDriveId}:
get:
description: 'Deprecated: Use `drives.get` instead.'
operationId: drive.teamdrives.get
parameters:
- name: useDomainAdminAccess
in: query
description: 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.
schema:
type: boolean
- name: teamDriveId
in: path
description: The ID of the Team Drive
required: true
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/TeamDrive'
delete:
description: 'Deprecated: Use `drives.delete` instead.'
operationId: drive.teamdrives.delete
parameters:
- name: teamDriveId
in: path
description: The ID of the Team Drive
required: true
schema:
type: string
responses:
default:
description: Successful operation
patch:
description: 'Deprecated: Use `drives.update` instead.'
operationId: drive.teamdrives.update
parameters:
- name: teamDriveId
in: path
description: The ID of the Team Drive
required: true
schema:
type: string
- name: useDomainAdminAccess
in: query
description: 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.
schema:
type: boolean
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/TeamDrive'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/TeamDrive'
/teamdrives:
get:
description: 'Deprecated: Use `drives.list` instead.'
operationId: drive.teamdrives.list
parameters:
- name: pageSize
in: query
description: Maximum number of Team Drives to return.
schema:
type: integer
format: int32
- name: pageToken
in: query
description: Page token for Team Drives.
schema:
type: string
- name: q
in: query
description: Query string for searching Team Drives.
schema:
type: string
- name: useDomainAdminAccess
in: query
description: 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.
schema:
type: boolean
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/TeamDriveList'
post:
description: 'Deprecated: Use `drives.create` instead.'
operationId: drive.teamdrives.create
parameters:
- name: requestId
in: query
description: 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.
required: true
schema:
type: string
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/TeamDrive'
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/TeamDrive'
/files/{fileId}/approvals/{approvalId}:
get:
description: Gets an Approval by ID.
operationId: drive.approvals.get
parameters:
- name: fileId
in: path
description: Required. The ID of the file the Approval is on.
required: true
schema:
type: string
- name: approvalId
in: path
description: Required. The ID of the Approval.
required: true
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/Approval'
/files/{fileId}/approvals:
get:
description: Lists the Approvals on a file.
operationId: drive.approvals.list
parameters:
- name: pageSize
in: query
description: The maximum number of Approvals to return. When not set, at most 100 Approvals will be returned.
schema:
type: integer
format: int32
- name: fileId
in: path
description: Required. The ID of the file the Approval is on.
required: true
schema:
type: string
- name: pageToken
in: query
description: 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.
schema:
type: string
responses:
default:
description: Successful operation
content:
application/json:
schema:
$ref: '#/definitions/ApprovalList'
/channels/stop:
post:
description: Stops watching resources through this channel. For more information, see [Notifications for resource changes](https://developers.google.com/workspace/drive/api/guides/push).
operationId: drive.channels.stop
requestBody:
content:
application/json:
schema:
$ref: '#/definitions/Channel'
responses:
default:
description: Successful operation
components:
schemas:
AppList:
type: object
properties:
items:
type: array
items:
$ref: '#/definitions/App'
description: The list of apps.
selfLink:
type: string
description: A link back to this list.
defaultAppIds:
type: array
items:
type: string
description: The list of app IDs that the user has specified to use by default. The list is in reverse-priority order (lowest to highest).
kind:
type: string
description: 'Output only. Identifies what kind of resource this is. Value: the fixed string "drive#appList".'
description: A list of third-party applications which the user has installed or given access to Google Drive.
FileList:
type: object
properties:
incompleteSearch:
type: boolean
description: 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`.
nextPageToken:
type: string
description: 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.
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string `"drive#fileList"`.'
files:
type: array
items:
$ref: '#/definitions/File'
description: The list of files. If `nextPageToken` is populated, then this list may be incomplete and an additional page of results should be fetched.
description: A list of files.
ListAccessProposalsResponse:
type: object
properties:
accessProposals:
type: array
items:
$ref: '#/definitions/AccessProposal'
description: The list of access proposals. This field is only populated in Drive API v3.
nextPageToken:
type: string
description: 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.
description: The response to an access proposal list request.
Label:
type: object
properties:
revisionId:
type: string
description: The revision ID of the label.
kind:
type: string
description: This is always drive#label
id:
type: string
description: The ID of the label.
fields:
type: object
description: A map of the fields on the label, keyed by the field's ID.
description: Representation of label and label fields.
Channel:
type: object
properties:
params:
type: object
description: Additional parameters controlling delivery channel behavior. Optional.
id:
type: string
description: A UUID or similar unique string that identifies this channel.
address:
type: string
description: The address where notifications are delivered for this channel.
kind:
type: string
description: Identifies this as a notification channel used to watch for changes to a resource, which is `api#channel`.
resourceId:
type: string
description: An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.
resourceUri:
type: string
description: A version-specific identifier for the watched resource.
payload:
type: boolean
description: A Boolean value to indicate whether payload is wanted. Optional.
token:
type: string
description: An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.
expiration:
type: string
description: Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.
type:
type: string
description: The type of delivery mechanism used for this channel. Valid values are "web_hook" or "webhook".
description: A notification channel used to watch for resource changes.
User:
type: object
properties:
kind:
type: string
description: 'Output only. Identifies what kind of resource this is. Value: the fixed string `drive#user`.'
me:
type: boolean
description: Output only. Whether this user is the requesting user.
emailAddress:
type: string
description: 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.
photoLink:
type: string
description: Output only. A link to the user's profile photo, if available.
displayName:
type: string
description: Output only. A plain text displayable name for this user.
permissionId:
type: string
description: Output only. The user's ID as visible in Permission resources.
description: Information about a Drive user.
Revision:
type: object
properties:
publishedLink:
type: string
description: Output only. A link to the published revision. This is only populated for Docs Editors files.
originalFilename:
type: string
description: Output only. The original filename used to create this revision. This is only applicable to files with binary content in Drive.
published:
type: boolean
description: Whether this revision is published. This is only applicable to Docs Editors files.
mimeType:
type: string
description: Output only. The MIME type of the revision.
size:
type: string
description: Output only. The size of the revision's content in bytes. This is only applicable to files with binary content in Drive.
lastModifyingUser:
$ref: '#/definitions/User'
id:
type: string
description: Output only. The ID of the revision.
exportLinks:
type: object
description: Output only. Links for exporting Docs Editors files to specific formats.
md5Checksum:
type: string
description: Output only. The MD5 checksum of the revision's content. This is only applicable to files with binary content in Drive.
keepForever:
type: boolean
description: 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.
modifiedTime:
type: string
description: The last time the revision was modified (RFC 3339 date-time).
kind:
type: string
description: 'Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#revision"`.'
publishedOutsideDomain:
type: boolean
description: Whether this revision is published outside the domain. This is only applicable to Docs Editors files.
publishAuto:
type: boolean
description: Whether subsequent revisions will be automatically republished. This is only applicable to Docs Editors files.
description: 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.
RevisionList:
type: object
properties:
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string `"drive#revisionList"`.'
revisions:
type: array
items:
$ref: '#/definitions/Revision'
description: The list of revisions. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.
nextPageToken:
type: string
description: 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.
description: A list of revisions of a file.
Operation:
type: object
properties:
done:
type: boolean
description: 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.
error:
$ref: '#/definitions/Status'
response:
type: object
description: 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`.
metadata:
type: object
description: 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.
name:
type: string
description: 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}`.
description: This resource represents a long-running operation that is the result of a network API call.
TeamDrive:
type: object
properties:
backgroundImageLink:
type: string
description: A short-lived link to this Team Drive's background image.
capabilities:
type: object
properties:
canChangeTeamMembersOnlyRestriction:
type: boolean
description: Whether the current user can change the `teamMembersOnly` restriction of this Team Drive.
canDeleteChildren:
type: boolean
description: Whether the current user can delete children from folders in this Team Drive.
canChangeSharingFoldersRequiresOrganizerPermissionRestriction:
type: boolean
description: Whether the current user can change the `sharingFoldersRequiresOrganizerPermission` restriction of this Team Drive.
canDeleteTeamDrive:
type: boolean
description: 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.
canTrashChildren:
type: boolean
description: Whether the current user can trash children from folders in this Team Drive.
canShare:
type: boolean
description: Whether the current user can share files or folders in this Team Drive.
canChangeTeamDriveBackground:
type: boolean
description: Whether the current user can change the background of this Team Drive.
canComment:
type: boolean
description: Whether the current user can comment on files in this Team Drive.
canChangeCopyRequiresWriterPermissionRestriction:
type: boolean
description: Whether the current user can change the `copyRequiresWriterPermission` restriction of this Team Drive.
canListChildren:
type: boolean
description: Whether the current user can list the children of folders in this Team Drive.
canManageMembers:
type: boolean
description: Whether the current user can add members to this Team Drive or remove them or change their role.
canCopy:
type: boolean
description: Whether the current user can copy files in this Team Drive.
canEdit:
type: boolean
description: Whether the current user can edit files in this Team Drive
canReadRevisions:
type: boolean
description: Whether the current user can read the revisions resource of files in this Team Drive.
canRename:
type: boolean
description: Whether the current user can rename files or folders in this Team Drive.
canAddChildren:
type: boolean
description: Whether the current user can add children to folders in this Team Drive.
canChangeDomainUsersOnlyRestriction:
type: boolean
description: Whether the current user can change the `domainUsersOnly` restriction of this Team Drive.
canDownload:
type: boolean
description: Whether the current user can download files in this Team Drive.
canRemoveChildren:
type: boolean
description: 'Deprecated: Use `canDeleteChildren` or `canTrashChildren` instead.'
canChangeDownloadRestriction:
type: boolean
description: Whether the current user can change organizer-applied download restrictions of this shared drive.
canRenameTeamDrive:
type: boolean
description: Whether the current user can rename this Team Drive.
canResetTeamDriveRestrictions:
type: boolean
description: Whether the current user can reset the Team Drive restrictions to defaults.
description: Capabilities the current user has on this Team Drive.
id:
type: string
description: The ID of this Team Drive which is also the ID of the top level folder of this Team Drive.
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string `"drive#teamDrive"`.'
name:
type: string
description: The name of this Team Drive.
restrictions:
type: object
properties:
teamMembersOnly:
type: boolean
description: Whether access to items inside this Team Drive is restricted to members of this Team Drive.
downloadRestriction:
$ref: '#/definitions/DownloadRestriction'
sharingFoldersRequiresOrganizerPermission:
type: boolean
description: 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.
adminManagedRestrictions:
type: boolean
description: Whether administrative privileges on this Team Drive are required to modify restrictions.
domainUsersOnly:
type: boolean
description: 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.
copyRequiresWriterPermission:
type: boolean
description: 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.
description: A set of restrictions that apply to this Team Drive or items inside this Team Drive.
orgUnitId:
type: string
description: The organizational unit of this shared drive. This field is only populated on `drives.list` responses when the `useDomainAdminAccess` parameter is set to `true`.
colorRgb:
type: string
description: 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`.
themeId:
type: string
description: 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`.
createdTime:
type: string
description: The time at which the Team Drive was created (RFC 3339 date-time).
backgroundImageFile:
type: object
properties:
id:
type: string
description: The ID of an image file in Drive to use for the background image.
yCoordinate:
type: number
description: 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.
width:
type: number
description: 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.
xCoordinate:
type: number
description: 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.
description: An image file and cropping parameters from which a background image for this Team Drive is set. This is a write only field; it can only be set on `drive.teamdrives.update` requests that don't set `themeId`. When specified, all fields of the `backgroundImageFile` must be set.
description: 'Deprecated: use the drive collection instead.'
LabelModification:
type: object
properties:
labelId:
type: string
description: The ID of the label to modify.
fieldModifications:
type: array
items:
$ref: '#/definitions/LabelFieldModification'
description: The list of modifications to this label's fields.
kind:
type: string
description: This is always `"drive#labelModification"`.
removeLabel:
type: boolean
description: If true, the label will be removed from the file.
description: 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.
AccessProposalRoleAndView:
type: object
properties:
role:
type: string
description: 'The role that was proposed by the requester. The supported values are: * `writer` * `commenter` * `reader`'
view:
type: string
description: Indicates the view for this access proposal. Only populated for proposals that belong to a view. Only `published` is supported.
description: 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).
AppIcons:
type: object
properties:
size:
type: integer
description: Size of the icon. Represented as the maximum of the width and height.
category:
type: string
description: '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.'
iconUrl:
type: string
description: URL for the icon.
DownloadRestrictionsMetadata:
type: object
properties:
itemDownloadRestriction:
$ref: '#/definitions/DownloadRestriction'
effectiveDownloadRestrictionWithContext:
$ref: '#/definitions/DownloadRestriction'
description: Download restrictions applied to the file.
GeneratedIds:
type: object
properties:
ids:
type: array
items:
type: string
description: The IDs generated for the requesting user in the specified space.
space:
type: string
description: The type of file that can be created with these IDs.
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string `"drive#generatedIds"`.'
description: A list of generated file IDs which can be provided in create requests.
PermissionList:
type: object
properties:
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string `"drive#permissionList"`.'
permissions:
type: array
items:
$ref: '#/definitions/Permission'
description: The list of permissions. If `nextPageToken` is populated, then this list may be incomplete and an additional page of results should be fetched.
nextPageToken:
type: string
description: 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.
description: A list of permissions for a file.
ReviewerResponse:
type: object
properties:
response:
enum:
- RESPONSE_UNSPECIFIED
- NO_RESPONSE
- APPROVED
- DECLINED
type: string
description: A Reviewer’s Response for the Approval.
kind:
type: string
description: This is always drive#reviewerResponse.
reviewer:
$ref: '#/definitions/User'
description: A response on an Approval made by a specific Reviewer.
ContentRestriction:
type: object
properties:
reason:
type: string
description: Reason for why the content of the file is restricted. This is only mutable on requests that also set `readOnly=true`.
type:
type: string
description: Output only. The type of the content restriction. Currently the only possible value is `globalContentRestriction`.
readOnly:
type: boolean
description: 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.
ownerRestricted:
type: boolean
description: 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.
systemRestricted:
type: boolean
description: 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.
restrictingUser:
$ref: '#/definitions/User'
restrictionTime:
type: string
description: The time at which the content restriction was set (formatted RFC 3339 timestamp). Only populated if readOnly is true.
description: A restriction for accessing the content of the file.
ApprovalList:
type: object
properties:
kind:
type: string
description: This is always drive#approvalList
items:
type: array
items:
$ref: '#/definitions/Approval'
description: The list of Approvals. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.
nextPageToken:
type: string
description: The page token for the next page of Approvals. This will be 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.
description: The response of an Approvals list request.
LabelList:
type: object
properties:
labels:
type: array
items:
$ref: '#/definitions/Label'
description: The list of labels.
nextPageToken:
type: string
description: 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.
kind:
type: string
description: This is always `"drive#labelList"`.
description: A list of labels applied to a file.
TeamDriveList:
type: object
properties:
teamDrives:
type: array
items:
$ref: '#/definitions/TeamDrive'
description: The list of Team Drives. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string `"drive#teamDriveList"`.'
nextPageToken:
type: string
description: 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.
description: A list of Team Drives.
CommentList:
type: object
properties:
comments:
type: array
items:
$ref: '#/definitions/Comment'
description: The list of comments. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string `"drive#commentList"`.'
nextPageToken:
type: string
description: 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.
description: A list of comments on a file.
ReplyList:
type: object
properties:
nextPageToken:
type: string
description: 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.
replies:
type: array
items:
$ref: '#/definitions/Reply'
description: The list of replies. If `nextPageToken` is populated, then this list may be incomplete and an additional page of results should be fetched.
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string `"drive#replyList"`.'
description: A list of replies to a comment on a file.
LabelField:
type: object
properties:
integer:
type: array
items:
type: string
description: Only present if `valueType` is `integer`.
selection:
type: array
items:
type: string
description: Only present if `valueType` is `selection`
id:
type: string
description: The identifier of this label field.
text:
type: array
items:
type: string
description: Only present if `valueType` is `text`.
dateString:
type: array
items:
type: string
description: 'Only present if valueType is dateString. RFC 3339 formatted date: YYYY-MM-DD.'
user:
type: array
items:
$ref: '#/definitions/User'
description: Only present if `valueType` is `user`.
kind:
type: string
description: This is always drive#labelField.
valueType:
type: string
description: 'The field type. While new values may be supported in the future, the following are currently allowed: * `dateString` * `integer` * `selection` * `text` * `user`'
description: Representation of field, which is a typed key-value pair.
Drive:
type: object
properties:
colorRgb:
type: string
description: 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`.
themeId:
type: string
description: 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`.
hidden:
type: boolean
description: Whether the shared drive is hidden from default view.
backgroundImageFile:
type: object
properties:
yCoordinate:
type: number
description: 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.
width:
type: number
description: 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.
xCoordinate:
type: number
description: 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.
id:
type: string
description: The ID of an image file in Google Drive to use for the background image.
description: 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.
createdTime:
type: string
description: The time at which the shared drive was created (RFC 3339 date-time).
id:
type: string
description: Output only. The ID of this shared drive which is also the ID of the top level folder of this shared drive.
capabilities:
type: object
properties:
canChangeCopyRequiresWriterPermissionRestriction:
type: boolean
description: Output only. Whether the current user can change the `copyRequiresWriterPermission` restriction of this shared drive.
canComment:
type: boolean
description: Output only. Whether the current user can comment on files in this shared drive.
canChangeDriveMembersOnlyRestriction:
type: boolean
description: Output only. Whether the current user can change the `driveMembersOnly` restriction of this shared drive.
canListChildren:
type: boolean
description: Output only. Whether the current user can list the children of folders in this shared drive.
canManageMembers:
type: boolean
description: Output only. Whether the current user can add members to this shared drive or remove them or change their role.
canShare:
type: boolean
description: Output only. Whether the current user can share files or folders in this shared drive.
canRenameDrive:
type: boolean
description: Output only. Whether the current user can rename this shared drive.
canChangeDriveBackground:
type: boolean
description: Output only. Whether the current user can change the background of this shared drive.
canChangeSharingFoldersRequiresOrganizerPermissionRestriction:
type: boolean
description: Output only. Whether the current user can change the `sharingFoldersRequiresOrganizerPermission` restriction of this shared drive.
canResetDriveRestrictions:
type: boolean
description: Output only. Whether the current user can reset the shared drive restrictions to defaults.
canTrashChildren:
type: boolean
description: Output only. Whether the current user can trash children from folders in this shared drive.
canDeleteChildren:
type: boolean
description: Output only. Whether the current user can delete children from folders in this shared drive.
canDeleteDrive:
type: boolean
description: 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.
canChangeDownloadRestriction:
type: boolean
description: Output only. Whether the current user can change organizer-applied download restrictions of this shared drive.
canDownload:
type: boolean
description: Output only. Whether the current user can download files in this shared drive.
canChangeDomainUsersOnlyRestriction:
type: boolean
description: Output only. Whether the current user can change the `domainUsersOnly` restriction of this shared drive.
canReadRevisions:
type: boolean
description: Output only. Whether the current user can read the revisions resource of files in this shared drive.
canRename:
type: boolean
description: Output only. Whether the current user can rename files or folders in this shared drive.
canCopy:
type: boolean
description: Output only. Whether the current user can copy files in this shared drive.
canEdit:
type: boolean
description: Output only. Whether the current user can edit files in this shared drive
canAddChildren:
type: boolean
description: Output only. Whether the current user can add children to folders in this shared drive.
description: Output only. Capabilities the current user has on this shared drive.
backgroundImageLink:
type: string
description: Output only. A short-lived link to this shared drive's background image.
orgUnitId:
type: string
description: 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`.
name:
type: string
description: The name of this shared drive.
restrictions:
type: object
properties:
downloadRestriction:
$ref: '#/definitions/DownloadRestriction'
driveMembersOnly:
type: boolean
description: Whether access to items inside this shared drive is restricted to its members.
copyRequiresWriterPermission:
type: boolean
description: 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.
domainUsersOnly:
type: boolean
description: 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.
adminManagedRestrictions:
type: boolean
description: Whether administrative privileges on this shared drive are required to modify restrictions.
sharingFoldersRequiresOrganizerPermission:
type: boolean
description: 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.
description: 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.
kind:
type: string
description: 'Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#drive"`.'
description: 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.
File:
type: object
properties:
originalFilename:
type: string
description: 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.
modifiedByMe:
type: boolean
description: Output only. Whether the file has been modified by this user.
spaces:
type: array
items:
type: string
description: Output only. The list of spaces which contain the file. The currently supported values are `drive`, `appDataFolder`, and `photos`.
videoMediaMetadata:
type: object
properties:
width:
type: integer
description: Output only. The width of the video in pixels.
height:
type: integer
description: Output only. The height of the video in pixels.
durationMillis:
type: string
description: Output only. The duration of the video in milliseconds.
description: Output only. Additional metadata about video media. This may not be available immediately upon upload.
shared:
type: boolean
description: Output only. Whether the file has been shared. Not populated for items in shared drives.
capabilities:
type: object
properties:
canCopy:
type: boolean
description: 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.
canMoveItemWithinDrive:
type: boolean
description: 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.
canDelete:
type: boolean
description: Output only. Whether the current user can delete this file.
canModifyContent:
type: boolean
description: Output only. Whether the current user can modify the content of this file.
canMoveChildrenOutOfDrive:
type: boolean
description: 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.
canReadDrive:
type: boolean
description: Output only. Whether the current user can read the shared drive to which this file belongs. Only populated for items in shared drives.
canAddMyDriveParent:
type: boolean
description: 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.
canDownload:
type: boolean
description: Output only. Whether the current user can download this file.
canRemoveChildren:
type: boolean
description: 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.
canDisableInheritedPermissions:
type: boolean
description: Whether a user can disable inherited permissions.
canChangeCopyRequiresWriterPermission:
type: boolean
description: Output only. Whether the current user can change the `copyRequiresWriterPermission` restriction of this file.
canDeleteChildren:
type: boolean
description: 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.
canMoveChildrenWithinTeamDrive:
type: boolean
description: 'Deprecated: Output only. Use `canMoveChildrenWithinDrive` instead.'
canModifyLabels:
type: boolean
description: Output only. Whether the current user can modify the labels on the file.
canMoveTeamDriveItem:
type: boolean
description: 'Deprecated: Output only. Use `canMoveItemWithinDrive` or `canMoveItemOutOfDrive` instead.'
canTrash:
type: boolean
description: Output only. Whether the current user can move this file to trash.
canTrashChildren:
type: boolean
description: 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.
canAcceptOwnership:
type: boolean
description: Output only. Whether the current user is the pending owner of the file. Not populated for shared drive files.
canChangeSecurityUpdateEnabled:
type: boolean
description: Output only. Whether the current user can change the `securityUpdateEnabled` field on link share metadata.
canEdit:
type: boolean
description: 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`.
canAddFolderFromAnotherDrive:
type: boolean
description: 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.
canRename:
type: boolean
description: Output only. Whether the current user can rename this file.
canReadRevisions:
type: boolean
description: 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.
canAddChildren:
type: boolean
description: Output only. Whether the current user can add children to this folder. This is always `false` when the item isn't a folder.
canChangeItemDownloadRestriction:
type: boolean
description: Output only. Whether the current user can change the owner or organizer-applied download restrictions of the file.
canModifyOwnerContentRestriction:
type: boolean
description: Output only. Whether the current user can add or modify content restrictions which are owner restricted.
canMoveItemIntoTeamDrive:
type: boolean
description: 'Deprecated: Output only. Use `canMoveItemOutOfDrive` instead.'
canModifyContentRestriction:
type: boolean
description: 'Deprecated: Output only. Use one of `canModifyEditorContentRestriction`, `canModifyOwnerContentRestriction`, or `canRemoveContentRestriction`.'
canRemoveContentRestriction:
type: boolean
description: Output only. Whether there's a content restriction on the file that can be removed by the current user.
canReadTeamDrive:
type: boolean
description: 'Deprecated: Output only. Use `canReadDrive` instead.'
canModifyEditorContentRestriction:
type: boolean
description: Output only. Whether the current user can add or modify content restrictions on the file which are editor restricted.
canMoveItemOutOfDrive:
type: boolean
description: 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.
canMoveItemOutOfTeamDrive:
type: boolean
description: 'Deprecated: Output only. Use `canMoveItemOutOfDrive` instead.'
canMoveItemWithinTeamDrive:
type: boolean
description: 'Deprecated: Output only. Use `canMoveItemWithinDrive` instead.'
canMoveChildrenWithinDrive:
type: boolean
description: 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.
canUntrash:
type: boolean
description: Output only. Whether the current user can restore this file from trash.
canRemoveMyDriveParent:
type: boolean
description: 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.
canShare:
type: boolean
description: Output only. Whether the current user can modify the sharing settings for this file.
canEnableInheritedPermissions:
type: boolean
description: Whether a user can re-enable inherited permissions.
canReadLabels:
type: boolean
description: Output only. Whether the current user can read the labels on the file.
canComment:
type: boolean
description: Output only. Whether the current user can comment on this file.
canMoveChildrenOutOfTeamDrive:
type: boolean
description: 'Deprecated: Output only. Use `canMoveChildrenOutOfDrive` instead.'
canChangeViewersCanCopyContent:
type: boolean
description: 'Deprecated: Output only.'
canListChildren:
type: boolean
description: Output only. Whether the current user can list the children of this folder. This is always `false` when the item isn't a folder.
description: 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).
fullFileExtension:
type: string
description: 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.
exportLinks:
type: object
description: Output only. Links for exporting Docs Editors files to specific formats.
linkShareMetadata:
type: object
properties:
securityUpdateEligible:
type: boolean
description: Output only. Whether the file is eligible for security update.
securityUpdateEnabled:
type: boolean
description: Output only. Whether the security update is enabled for this file.
description: Contains details about the link URLs that clients are using to refer to this item.
explicitlyTrashed:
type: boolean
description: Output only. Whether the file has been explicitly trashed, as opposed to recursively trashed from a parent folder.
fileExtension:
type: string
description: Output only. The final component of `fullFileExtension`. This is only available for files with binary content in Google Drive.
quotaBytesUsed:
type: string
description: 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.
isAppAuthorized:
type: boolean
description: Output only. Whether the file was created or opened by the requesting app.
modifiedByMeTime:
type: string
description: The last time the file was modified by the user (RFC 3339 date-time).
parents:
type: array
items:
type: string
description: 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.
iconLink:
type: string
description: Output only. A static, unauthenticated link to the file's icon.
modifiedTime:
type: string
description: he last time the file was modified by anyone (RFC 3339 date-time). Note that setting modifiedTime will also update modifiedByMeTime for the user.
driveId:
type: string
description: Output only. ID of the shared drive the file resides in. Only populated for items in shared drives.
sharingUser:
$ref: '#/definitions/User'
hasAugmentedPermissions:
type: boolean
description: Output only. Whether there are permissions directly on this file. This field is only populated for items in shared drives.
headRevisionId:
type: string
description: Output only. The ID of the file's head revision. This is currently only available for files with binary content in Google Drive.
webContentLink:
type: string
description: 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.
contentRestrictions:
type: array
items:
$ref: '#/definitions/ContentRestriction'
description: Restrictions for accessing the content of the file. Only populated if such a restriction exists.
folderColorRgb:
type: string
description: 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.
shortcutDetails:
type: object
properties:
targetId:
type: string
description: The ID of the file that this shortcut points to. Can only be set on `files.create` requests.
targetResourceKey:
type: string
description: Output only. The `resourceKey` for the target file.
targetMimeType:
type: string
description: 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.
description: Shortcut file details. Only populated for shortcut files, which have the mimeType field set to `application/vnd.google-apps.shortcut`. Can only be set on `files.create` requests.
downloadRestrictions:
$ref: '#/definitions/DownloadRestrictionsMetadata'
viewedByMe:
type: boolean
description: Output only. Whether the file has been viewed by this user.
size:
type: string
description: 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.
sha1Checksum:
type: string
description: 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.
md5Checksum:
type: string
description: Output only. The MD5 checksum for the content of the file. This is only applicable to files with binary content in Google Drive.
trashed:
type: boolean
description: Whether the file has been trashed, either explicitly or from a trashed parent folder. Only the owner may trash a file, and other users cannot see files in the owner's trash.
version:
type: string
description: 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.
ownedByMe:
type: boolean
description: Output only. Whether the user owns the file. Not populated for items in shared drives.
kind:
type: string
description: 'Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#file"`.'
viewersCanCopyContent:
type: boolean
description: 'Deprecated: Use `copyRequiresWriterPermission` instead.'
copyRequiresWriterPermission:
type: boolean
description: Whether the options to copy, print, or download this file should be disabled for readers and commenters.
sharedWithMeTime:
type: string
description: The time at which the file was shared with the user, if applicable (RFC 3339 date-time).
hasThumbnail:
type: boolean
description: 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.
trashedTime:
type: string
description: The time that the item was trashed (RFC 3339 date-time). Only populated for items in shared drives.
createdTime:
type: string
description: The time at which the file was created (RFC 3339 date-time).
imageMediaMetadata:
type: object
properties:
width:
type: integer
description: Output only. The width of the image in pixels.
focalLength:
type: number
description: Output only. The focal length used to create the photo, in millimeters.
subjectDistance:
type: integer
description: Output only. The distance to the subject of the photo, in meters.
cameraModel:
type: string
description: Output only. The model of the camera used to create the photo.
cameraMake:
type: string
description: Output only. The make of the camera used to create the photo.
time:
type: string
description: Output only. The date and time the photo was taken (EXIF DateTime).
height:
type: integer
description: Output only. The height of the image in pixels.
rotation:
type: integer
description: Output only. The number of clockwise 90 degree rotations applied from the image's original orientation.
whiteBalance:
type: string
description: Output only. The white balance mode used to create the photo.
sensor:
type: string
description: Output only. The type of sensor used to create the photo.
location:
type: object
properties:
latitude:
type: number
description: Output only. The latitude stored in the image.
altitude:
type: number
description: Output only. The altitude stored in the image.
longitude:
type: number
description: Output only. The longitude stored in the image.
description: Output only. Geographic location information stored in the image.
aperture:
type: number
description: Output only. The aperture used to create the photo (f-number).
exposureBias:
type: number
description: Output only. The exposure bias of the photo (APEX value).
meteringMode:
type: string
description: Output only. The metering mode used to create the photo.
flashUsed:
type: boolean
description: Output only. Whether a flash was used to create the photo.
colorSpace:
type: string
description: Output only. The color space of the photo.
lens:
type: string
description: Output only. The lens used to create the photo.
exposureMode:
type: string
description: Output only. The exposure mode used to create the photo.
maxApertureValue:
type: number
description: Output only. The smallest f-number of the lens at the focal length used to create the photo (APEX value).
isoSpeed:
type: integer
description: Output only. The ISO speed used to create the photo.
exposureTime:
type: number
description: Output only. The length of the exposure, in seconds.
description: Output only. Additional metadata about image media, if available.
sha256Checksum:
type: string
description: 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.
owners:
type: array
items:
$ref: '#/definitions/User'
description: 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.
writersCanShare:
type: boolean
description: Whether users with only `writer` permission can modify the file's permissions. Not populated for items in shared drives.
thumbnailVersion:
type: string
description: Output only. The thumbnail version for use in thumbnail cache invalidation.
viewedByMeTime:
type: string
description: The last time the file was viewed by the user (RFC 3339 date-time).
teamDriveId:
type: string
description: 'Deprecated: Output only. Use `driveId` instead.'
description:
type: string
description: A short description of the file.
resourceKey:
type: string
description: Output only. A key needed to access the item via a shared link.
permissionIds:
type: array
items:
type: string
description: Output only. List of permission IDs for users with access to this file.
mimeType:
type: string
description: 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.
thumbnailLink:
type: string
description: 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.
webViewLink:
type: string
description: Output only. A link for opening the file in a relevant Google editor or viewer in a browser.
name:
type: string
description: 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.
contentHints:
type: object
properties:
indexableText:
type: string
description: Text to be indexed for the file to improve fullText queries. This is limited to 128 KB in length and may contain HTML elements.
thumbnail:
type: object
properties:
image:
type: string
description: The thumbnail data encoded with URL-safe Base64 ([RFC 4648 section 5](https://datatracker.ietf.org/doc/html/rfc4648#section-5)).
mimeType:
type: string
description: The MIME type of the thumbnail.
description: A thumbnail for the file. This will only be used if Google Drive cannot generate a standard thumbnail.
description: Additional information about the content of the file. These fields are never populated in responses.
lastModifyingUser:
$ref: '#/definitions/User'
starred:
type: boolean
description: Whether the user has starred the file.
properties:
type: object
description: |-
A collection of arbitrary key-value pairs which are visible to all apps.
Entries with null values are cleared in update and copy requests.
id:
type: string
description: The ID of the file.
permissions:
type: array
items:
$ref: '#/definitions/Permission'
description: 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.
appProperties:
type: object
description: |-
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.
trashingUser:
$ref: '#/definitions/User'
inheritedPermissionsDisabled:
type: boolean
description: Whether this file has inherited permissions disabled. Inherited permissions are enabled by default.
labelInfo:
type: object
properties:
labels:
type: array
items:
$ref: '#/definitions/Label'
description: 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.
description: Output only. An overview of the labels on the file.
description: 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.
LabelFieldModification:
type: object
properties:
kind:
type: string
description: This is always `"drive#labelFieldModification"`.
setDateValues:
type: array
items:
type: string
description: '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.'
setSelectionValues:
type: array
items:
type: string
description: Replaces a `selection` field with these new values.
fieldId:
type: string
description: The ID of the field to be modified.
setUserValues:
type: array
items:
type: string
description: Replaces a `user` field with these new values. The values must be a valid email addresses.
setTextValues:
type: array
items:
type: string
description: Sets the value of a `text` field.
setIntegerValues:
type: array
items:
type: string
description: Replaces the value of an `integer` field with these new values.
unsetValues:
type: boolean
description: Unsets the values for this field.
description: A modification to a label's field.
Status:
type: object
properties:
details:
type: array
items:
type: object
description: A list of messages that carry the error details. There is a common set of message types for APIs to use.
code:
type: integer
description: The status code, which should be an enum value of google.rpc.Code.
message:
type: string
description: 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.
description: '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).'
Reply:
type: object
properties:
modifiedTime:
type: string
description: The last time the reply was modified (RFC 3339 date-time).
mentionedEmailAddresses:
type: array
items:
type: string
description: Output only. A list of email addresses for users mentioned in this comment. If no users are mentioned, the list is empty.
action:
type: string
description: 'The action the reply performed to the parent comment. The supported values are: * `resolve` * `reopen`'
content:
type: string
description: 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.
assigneeEmailAddress:
type: string
description: Output only. The email address of the user assigned to this comment. If no user is assigned, the field is unset.
createdTime:
type: string
description: The time at which the reply was created (RFC 3339 date-time).
id:
type: string
description: Output only. The ID of the reply.
htmlContent:
type: string
description: Output only. The content of the reply with HTML formatting.
author:
$ref: '#/definitions/User'
kind:
type: string
description: 'Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#reply"`.'
deleted:
type: boolean
description: Output only. Whether the reply has been deleted. A deleted reply has no content.
description: 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.
ModifyLabelsRequest:
type: object
properties:
labelModifications:
type: array
items:
$ref: '#/definitions/LabelModification'
description: The list of modifications to apply to the labels on the file.
kind:
type: string
description: This is always `"drive#modifyLabelsRequest"`.
description: 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.
ResolveAccessProposalRequest:
type: object
properties:
role:
type: array
items:
type: string
description: '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.'
view:
type: string
description: Optional. Indicates the view for this access proposal. This should only be set when the proposal belongs to a view. Only `published` is supported.
action:
enum:
- ACTION_UNSPECIFIED
- ACCEPT
- DENY
type: string
description: Required. The action to take on the access proposal.
sendNotification:
type: boolean
description: Optional. Whether to send an email to the requester when the access proposal is denied or accepted.
description: Request message for resolving an AccessProposal on a file.
DownloadRestriction:
type: object
properties:
restrictedForWriters:
type: boolean
description: Whether download and copy is restricted for writers. If `true`, download is also restricted for readers.
restrictedForReaders:
type: boolean
description: Whether download and copy is restricted for readers.
description: A restriction for copy and download of the file.
DriveList:
type: object
properties:
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string `"drive#driveList"`.'
nextPageToken:
type: string
description: 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.
drives:
type: array
items:
$ref: '#/definitions/Drive'
description: The list of shared drives. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.
description: A list of shared drives.
About:
type: object
properties:
user:
$ref: '#/definitions/User'
importFormats:
type: object
description: A map of source MIME type to possible targets for all supported imports.
teamDriveThemes:
type: array
items:
type: object
properties:
backgroundImageLink:
type: string
description: 'Deprecated: Use `driveThemes/backgroundImageLink` instead.'
colorRgb:
type: string
description: 'Deprecated: Use `driveThemes/colorRgb` instead.'
id:
type: string
description: 'Deprecated: Use `driveThemes/id` instead.'
description: 'Deprecated: Use `driveThemes` instead.'
exportFormats:
type: object
description: A map of source MIME type to possible targets for all supported exports.
canCreateDrives:
type: boolean
description: Whether the user can create shared drives.
folderColorPalette:
type: array
items:
type: string
description: The currently supported folder colors as RGB hex strings.
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string `"drive#about"`.'
canCreateTeamDrives:
type: boolean
description: 'Deprecated: Use `canCreateDrives` instead.'
maxUploadSize:
type: string
description: The maximum upload size in bytes.
storageQuota:
type: object
properties:
usageInDriveTrash:
type: string
description: The usage by trashed files in Google Drive.
usageInDrive:
type: string
description: The usage by all files in Google Drive.
usage:
type: string
description: 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.
limit:
type: string
description: 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.
description: 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.
appInstalled:
type: boolean
description: Whether the user has installed the requesting app.
driveThemes:
type: array
items:
type: object
properties:
backgroundImageLink:
type: string
description: A link to this theme's background image.
colorRgb:
type: string
description: The color of this theme as an RGB hex string.
id:
type: string
description: The ID of the theme.
description: A list of themes that are supported for shared drives.
maxImportSizes:
type: object
description: A map of maximum import sizes by MIME type, in bytes.
description: Information about the user, the user's Drive, and system capabilities.
AccessProposal:
type: object
properties:
requestMessage:
type: string
description: The message that the requester added to the proposal.
createTime:
type: string
description: The creation time.
requesterEmailAddress:
type: string
description: The email address of the requesting user.
rolesAndViews:
type: array
items:
$ref: '#/definitions/AccessProposalRoleAndView'
description: 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).
recipientEmailAddress:
type: string
description: The email address of the user that will receive permissions, if accepted.
fileId:
type: string
description: The file ID that the proposal for access is on.
proposalId:
type: string
description: The ID of the access proposal.
description: Manage outstanding access proposals on a file.
App:
type: object
properties:
supportsOfflineCreate:
type: boolean
description: Whether this app supports creating files when offline.
productUrl:
type: string
description: A link to the product listing for this app.
shortDescription:
type: string
description: A short description of the app.
longDescription:
type: string
description: A long description of the app.
supportsMultiOpen:
type: boolean
description: Whether this app supports opening more than one file.
installed:
type: boolean
description: Whether the app is installed.
kind:
type: string
description: 'Output only. Identifies what kind of resource this is. Value: the fixed string "drive#app".'
createInFolderTemplate:
type: string
description: 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.
primaryFileExtensions:
type: array
items:
type: string
description: The list of primary file extensions.
secondaryFileExtensions:
type: array
items:
type: string
description: The list of secondary file extensions.
useByDefault:
type: boolean
description: Whether the app is selected as the default handler for the types it supports.
createUrl:
type: string
description: The URL to create a file with this app.
secondaryMimeTypes:
type: array
items:
type: string
description: The list of secondary MIME types.
name:
type: string
description: The name of the app.
primaryMimeTypes:
type: array
items:
type: string
description: The list of primary MIME types.
icons:
type: array
items:
$ref: '#/definitions/AppIcons'
description: The various icons for the app.
id:
type: string
description: The ID of the app.
objectType:
type: string
description: The type of object this app creates such as a Chart. If empty, the app name should be used instead.
authorized:
type: boolean
description: Whether the app is authorized to access data on the user's Drive.
hasDriveWideScope:
type: boolean
description: Whether the app has Drive-wide scope. An app with Drive-wide scope can access all files in the user's Drive.
supportsCreate:
type: boolean
description: Whether this app supports creating objects.
supportsImport:
type: boolean
description: Whether this app supports importing from Google Docs.
openUrlTemplate:
type: string
description: 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.
productId:
type: string
description: The ID of the product listing for this app.
description: 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.
Permission:
type: object
properties:
photoLink:
type: string
description: Output only. A link to the user's profile photo, if available.
allowFileDiscovery:
type: boolean
description: Whether the permission allows the file to be discovered through search. This is only applicable for permissions of type `domain` or `anyone`.
type:
type: string
description: '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.'
emailAddress:
type: string
description: The email address of the user or group to which this permission refers.
expirationTime:
type: string
description: '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'
view:
type: string
description: '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).'
domain:
type: string
description: The domain to which this permission refers.
id:
type: string
description: 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.
permissionDetails:
type: array
items:
type: object
properties:
permissionType:
type: string
description: 'Output only. The permission type for this user. Supported values include: * `file` * `member`'
inheritedFrom:
type: string
description: Output only. The ID of the item from which this permission is inherited. This is only populated for items in shared drives.
role:
type: string
description: '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).'
inherited:
type: boolean
description: Output only. Whether this permission is inherited. This field is always populated. This is an output-only field.
description: Output only. Details of whether the permissions on this item are inherited or are directly on this item.
inheritedPermissionsDisabled:
type: boolean
description: When `true`, only organizers, owners, and users with permissions added directly on the item can access it.
displayName:
type: string
description: '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.'
pendingOwner:
type: boolean
description: 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.
teamDrivePermissionDetails:
type: array
items:
type: object
properties:
teamDrivePermissionType:
type: string
description: 'Deprecated: Output only. Use `permissionDetails/permissionType` instead.'
inheritedFrom:
type: string
description: 'Deprecated: Output only. Use `permissionDetails/inheritedFrom` instead.'
role:
type: string
description: 'Deprecated: Output only. Use `permissionDetails/role` instead.'
inherited:
type: boolean
description: 'Deprecated: Output only. Use `permissionDetails/inherited` instead.'
description: 'Output only. Deprecated: Output only. Use `permissionDetails` instead.'
role:
type: string
description: '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).'
kind:
type: string
description: 'Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#permission"`.'
deleted:
type: boolean
description: Output only. Whether the account associated with this permission has been deleted. This field only pertains to permissions of type `user` or `group`.
description: 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.
ModifyLabelsResponse:
type: object
properties:
modifiedLabels:
type: array
items:
$ref: '#/definitions/Label'
description: The list of labels which were added or updated by the request.
kind:
type: string
description: This is always `"drive#modifyLabelsResponse"`.
description: Response to a `ModifyLabels` request. This contains only those labels which were added or updated by the request.
StartPageToken:
type: object
properties:
startPageToken:
type: string
description: The starting page token for listing future changes. The page token doesn't expire.
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string `"drive#startPageToken"`.'
Approval:
type: object
properties:
targetFileId:
type: string
description: Target file id of the approval.
approvalId:
type: string
description: The Approval ID.
completeTime:
type: string
description: Output only. The time the approval was completed.
kind:
type: string
description: This is always drive#approval.
modifyTime:
type: string
description: Output only. The most recent time the approval was modified.
reviewerResponses:
type: array
items:
$ref: '#/definitions/ReviewerResponse'
description: The responses made on the Approval by reviewers.
initiator:
$ref: '#/definitions/User'
createTime:
type: string
description: Output only. The time the approval was created.
status:
enum:
- STATUS_UNSPECIFIED
- IN_PROGRESS
- APPROVED
- CANCELLED
- DECLINED
type: string
description: Output only. The status of the approval at the time this resource was requested.
dueTime:
type: string
description: The time that the approval is due.
description: Metadata for an approval. An approval is a review/approve process for a Drive item.
Comment:
type: object
properties:
createdTime:
type: string
description: The time at which the comment was created (RFC 3339 date-time).
quotedFileContent:
type: object
properties:
value:
type: string
description: The quoted content itself. This is interpreted as plain text if set through the API.
mimeType:
type: string
description: The MIME type of the quoted content.
description: 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.
content:
type: string
description: The plain text content of the comment. This field is used for setting the content, while `htmlContent` should be displayed.
assigneeEmailAddress:
type: string
description: Output only. The email address of the user assigned to this comment. If no user is assigned, the field is unset.
resolved:
type: boolean
description: Output only. Whether the comment has been resolved by one of its replies.
mentionedEmailAddresses:
type: array
items:
type: string
description: Output only. A list of email addresses for users mentioned in this comment. If no users are mentioned, the list is empty.
htmlContent:
type: string
description: Output only. The content of the comment with HTML formatting.
id:
type: string
description: Output only. The ID of the comment.
replies:
type: array
items:
$ref: '#/definitions/Reply'
description: Output only. The full list of replies to the comment in chronological order.
modifiedTime:
type: string
description: The last time the comment or any of its replies was modified (RFC 3339 date-time).
kind:
type: string
description: 'Output only. Identifies what kind of resource this is. Value: the fixed string `"drive#comment"`.'
anchor:
type: string
description: 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).
deleted:
type: boolean
description: Output only. Whether the comment has been deleted. A deleted comment has no content.
author:
$ref: '#/definitions/User'
description: 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.
ChangeList:
type: object
properties:
nextPageToken:
type: string
description: 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.
newStartPageToken:
type: string
description: 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.
changes:
type: array
items:
$ref: '#/definitions/Change'
description: The list of changes. If nextPageToken is populated, then this list may be incomplete and an additional page of results should be fetched.
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string `"drive#changeList"`.'
description: A list of changes for a user.
Change:
type: object
properties:
changeType:
type: string
description: The type of the change. Possible values are `file` and `drive`.
type:
type: string
description: 'Deprecated: Use `changeType` instead.'
teamDrive:
$ref: '#/definitions/TeamDrive'
kind:
type: string
description: 'Identifies what kind of resource this is. Value: the fixed string `"drive#change"`.'
removed:
type: boolean
description: Whether the file or shared drive has been removed from this list of changes, for example by deletion or loss of access.
file:
$ref: '#/definitions/File'
driveId:
type: string
description: The ID of the shared drive associated with this change.
fileId:
type: string
description: The ID of the file which has changed.
teamDriveId:
type: string
description: 'Deprecated: Use `driveId` instead.'
time:
type: string
description: The time of this change (RFC 3339 date-time).
drive:
$ref: '#/definitions/Drive'
description: A change to a file or shared drive.