- [HTTP request](https://developers.google.com/workspace/drive/api/reference/rest/v2/permissions/insert#body.HTTP_TEMPLATE)
- [Path parameters](https://developers.google.com/workspace/drive/api/reference/rest/v2/permissions/insert#body.PATH_PARAMETERS)
- [Query parameters](https://developers.google.com/workspace/drive/api/reference/rest/v2/permissions/insert#body.QUERY_PARAMETERS)
- [Request body](https://developers.google.com/workspace/drive/api/reference/rest/v2/permissions/insert#body.request_body)
- [Response body](https://developers.google.com/workspace/drive/api/reference/rest/v2/permissions/insert#body.response_body)
- [Authorization scopes](https://developers.google.com/workspace/drive/api/reference/rest/v2/permissions/insert#body.aspect)
- [Try it!](https://developers.google.com/workspace/drive/api/reference/rest/v2/permissions/insert#try-it)

Inserts a permission for a file or shared drive.

**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.

### HTTP request

`POST https://www.googleapis.com/drive/v2/files/{fileId}/permissions`

The URL uses [gRPC Transcoding](https://google.aip.dev/127) syntax.

### Path parameters

| Parameters ||
|---|---|
| `fileId` | `string` The ID for the file or shared drive. |

### Query parameters

| Parameters ||
|---|---|
| `emailMessage` | `string` A plain text custom message to include in notification emails. |
| `enforceSingleParent (deprecated)` | `boolean` Deprecated: See `moveToNewOwnersRoot` for details. |
| `moveToNewOwnersRoot` | `boolean` This parameter will only take effect if the item is not in a shared drive and the request is attempting to transfer the ownership of the item. If set to `true`, the item will be moved to the new owner's My Drive root folder and all prior parents removed. If set to `false`, parents are not changed. |
| `sendNotificationEmails` | `boolean` Whether to send notification emails when sharing to users or groups. This parameter is ignored and an email is sent if the `role` is `owner`. |
| `supportsAllDrives` | `boolean` Whether the requesting application supports both My Drives and shared drives. |
| `supportsTeamDrives (deprecated)` | `boolean` Deprecated: Use `supportsAllDrives` instead. |
| `useDomainAdminAccess` | `boolean` Issue the request as a domain administrator; if set to true, then the requester will be granted access if the file ID parameter refers to a shared drive and the requester is an administrator of the domain to which the shared drive belongs. |
| `enforceExpansiveAccess (deprecated)` | `boolean` Deprecated: All requests use the expansive access rules. |

### Request body

The request body contains an instance of `https://developers.google.com/workspace/drive/api/reference/rest/v2/permissions#Permission`.

### Response body

If successful, the response body contains a newly created instance of `https://developers.google.com/workspace/drive/api/reference/rest/v2/permissions#Permission`.

### Authorization scopes

Requires one of the following OAuth scopes:

- `https://www.googleapis.com/auth/docs`
- `
  https://www.googleapis.com/auth/drive`
- `
  https://www.googleapis.com/auth/drive.file`

Some scopes are restricted and require a security assessment for your app to use them. For more information, see the [Authorization guide](https://developers.google.com/workspace/guides/configure-oauth-consent).