Google: 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)
Google driveFiles.driveFilesCopy: arguments, response, policy and SDK examples.
← Drive files operations · Get started
Operation google.drive_files_copy
Provider route: POST /drive/v3/files/{fileId}/copy. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”Install @alter-ai/sdk @alter-ai/google with npm, or alter-sdk-google with pip. Supply your connected customer’s grant ID and the arguments described below.
import { App } from "@alter-ai/sdk";import { GoogleIntegration } from "@alter-ai/google";
async function execute(input: Parameters<GoogleIntegration["driveFiles"]["driveFilesCopy"]>[0]) { const app = new App({ apiKey: process.env.ALTER_API_KEY! }); try { const provider = new GoogleIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! }); const call = await provider.driveFiles.driveFilesCopy(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom alter_sdk_google import GoogleIntegration
async def execute(arguments): async with App(api_key=os.environ["ALTER_API_KEY"]) as app: provider = GoogleIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]}) call = await provider.drive_files.drive_files_copy(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.fileId | string | Required within parent | The ID of the file. |
query | object | Optional | Additional keys: not allowed |
query.fields | string | Optional | Selector specifying which fields to include in a partial response. |
query.prettyPrint | boolean | Optional | Returns response with indentations and line breaks. Default: true |
query.quotaUser | string | Optional | Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters. |
query.copyComments | boolean | Optional | Whether to copy the open (unresolved) comments associated with the file. Default: false |
query.enforceSingleParent | boolean | Optional | Deprecated: Copying files into multiple folders is no longer supported. Use shortcuts instead. Default: false |
query.ignoreDefaultVisibility | boolean | Optional | 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. Default: false |
query.includeLabels | string | Optional | A comma-separated list of IDs of labels to include in the `labelInfo` part of the response. |
query.includePermissionsForView | string | Optional | Specifies which additional view’s permissions to include in the response. Only `published` is supported. |
query.keepRevisionForever | boolean | Optional | 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. Default: false |
query.ocrLanguage | string | Optional | A language hint for OCR processing during image import (ISO 639-1 code). |
query.supportsAllDrives | boolean | Optional | Whether the requesting application supports both My Drives and shared drives. Default: false |
query.supportsTeamDrives | boolean | Optional | Deprecated: Use `supportsAllDrives` instead. Default: false |
body | Model | Required within parent | Expand 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) — request body — body |
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
Schemas
Section titled “Schemas”9 more schemas are linked from the tables above, on the schema pages.
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) — response body — client Encryption Details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Details about the client-side encryption applied to the file. |
decryptionMetadata | Model | Optional | Expand 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) — response body — client Encryption Details decryption Metadata The metadata used for client-side operations. |
encryptionState | string | Optional | The encryption state of the file. The values expected here are: - encrypted - unencrypted |
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) — response body — content Restrictions item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | A restriction for accessing the content of the file. |
ownerRestricted | boolean | Optional | 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. |
readOnly | boolean | Optional | 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. |
reason | string | Optional | Reason for why the content of the file is restricted. This is only mutable on requests that also set `readOnly=true`. |
restrictingUser | Model | Optional | Expand 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) — response body — user Output only. The user who set the content restriction. Only populated if `readOnly=true`. |
restrictionTime | string | Optional | The time at which the content restriction was set (formatted RFC 3339 timestamp). Only populated if readOnly is true. Format: date-time |
systemRestricted | boolean | Optional | 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. |
type | string | Optional | Output only. The type of the content restriction. Currently the only possible value is `globalContentRestriction`. |
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) — response body — download Restrictions
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Download restrictions applied to the file. |
effectiveDownloadRestrictionWithContext | Model | Optional | Expand Deprecated: Use `drives get` instead — response body — restrictions download Restriction Output only. The effective download restriction applied to this file. This considers all restriction settings and DLP rules. |
itemDownloadRestriction | Model | Optional | Expand Deprecated: Use `drives get` instead — response body — restrictions download Restriction The download restriction of the file applied directly by the owner or organizer. This doesn't take into account shared drive settings or DLP rules. |
Referenced models: Deprecated: Use `drives get` instead — response body — restrictions download Restriction
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) — response body — labels item
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Representation of label and label fields. |
fields | object | Optional | A map of the fields on the label, keyed by the field's ID. Additional keys: see wildcard field |
fields.* | Model | Additional keys | Expand 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) — response body — labels item fields value |
id | string | Optional | The ID of the label. |
kind | string | Optional | This is always drive#label |
revisionId | string | Optional | The revision ID of the label. |
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) — response body — user
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Information about a Drive user. |
displayName | string | Optional | Output only. A plain text displayable name for this user. Read only: true |
emailAddress | string | Optional | 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. Read only: true |
kind | string | Optional | Output only. Identifies what kind of resource this is. Value: the fixed string `drive#user`. Default: drive#user Read only: true |
me | boolean | Optional | Output only. Whether this user is the requesting user. Read only: true |
permissionId | string | Optional | Output only. The user's ID as visible in Permission resources. Read only: true |
photoLink | string | Optional | Output only. A link to the user's profile photo, if available. Read only: true |
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) — response body — content Hints
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional information about the content of the file. These fields are never populated in responses. |
indexableText | string | Optional | 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 | object | Optional | A thumbnail for the file. This will only be used if Google Drive cannot generate a standard thumbnail. |
thumbnail.image | string | Optional | The thumbnail data encoded with URL-safe Base64 ([RFC 4648 section 5](https://datatracker.ietf.org/doc/html/rfc4648#section-5)). Format: byte |
thumbnail.mimeType | string | Optional | The MIME type of the thumbnail. |
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) — response body — shortcut Details
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Information about a shortcut file. |
targetId | string | Optional | The ID of the file that this shortcut points to. Can only be set on `files.create` requests. |
targetMimeType | string | Optional | 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. |
targetResourceKey | string | Optional | Output only. The `resourceKey` for the target file. |
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) — request body — body video Media Metadata
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Output only. Additional metadata about video media. This may not be available immediately upon upload. |
durationMillis | string | Optional | Output only. The duration of the video in milliseconds. Format: int64 |
height | integer | Optional | Output only. The height of the video in pixels. Format: int32 |
width | integer | Optional | Output only. The width of the video in pixels. Format: int32 |
Deprecated: Use `drives get` instead — response body — restrictions download Restriction
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | A restriction for copy and download of the file. |
restrictedForReaders | boolean | Optional | Whether download and copy is restricted for readers. |
restrictedForWriters | boolean | Optional | Whether download and copy is restricted for writers. If true, download is also restricted for readers. |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: google.drive_files_copy. Catalog operation: drive.files.copy. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.
Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.
Required provider scopes: ["https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.appdata", "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.photos.readonly"]