Google: 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 permission modifications (such as update or delete) on the same file, folder, or shared drive aren't supported across any users or clients; only the last update is applied
Google drivePermissions.drivePermissionsCreate: arguments, response, policy and SDK examples.
← drive_permissions operations · Get started · OpenAPI downloads
Contract 2026-10-27 · Operation google.drive_permissions_create
Provider route: POST /drive/v3/files/{fileId}/permissions. 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["drivePermissions"]["drivePermissionsCreate"]>[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.drivePermissions.drivePermissionsCreate(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_permissions.drive_permissions_create(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 or shared drive. |
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.emailMessage | string | Optional | A plain text custom message to include in the notification email. |
query.enforceExpansiveAccess | boolean | Optional | Deprecated: All requests use the expansive access rules. Default: false |
query.enforceSingleParent | boolean | Optional | Deprecated: See `moveToNewOwnersRoot` for details. Default: false |
query.moveToNewOwnersRoot | boolean | Optional | 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. Default: false |
query.sendNotificationEmail | boolean | Optional | 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. |
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 |
query.transferOwnership | boolean | Optional | 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). Default: false |
query.useDomainAdminAccess | boolean | Optional | 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). Default: false |
body | Model | Required within parent | Expand 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 permission modifications (such as update or delete) on the same file, folder, or shared drive aren’t supported across any users or clients; only the last update is applied — 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.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | Model | Root | Expand Gets a permission by ID For more information, see Share files, folders, and drives (https: developers google com workspace drive api guides manage-sharing) — response body |
Referenced models: Gets a permission by ID For more information, see Share files, folders, and drives (https: developers google com workspace drive api guides manage-sharing) — response body
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: google.drive_permissions_create. Catalog operation: drive.permissions.create. 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.file"]