# Types.PermissionInput

Input describing a grant or revoke of read/write access on a file or folder.

> Kind: Apex type · Updated: 2026-07-01

Represents input for updating the permission of a resource (file or folder). Passed to Client.updatePermissions() to grant or revoke read/write access for a set of emails or Salesforce users/groups.

## Fields

### Fields
| Parameter | Type | Required | Description |
|---|---|---|---|
| action | String | required | One of grant or revoke. |
| role | String | required | One of read or write. |
| resourceId | String | required | The Id of the file/folder. You can get this value from the Content Library. |
| resourceType | String | required | One of file or folder. You can get this value from the Content Library. |
| driveId | String | required | The Id of the drive. |
| emails | List&lt;String&gt; | required | Email IDs for which you want to provide/revoke access. |
| salesforceUserOrGroupIds | List&lt;String&gt; | required | List of Salesforce User/Group IDs to grant or revoke access. |
| resourceIds | List&lt;String&gt; | required | List of resourceId values. |
| salesforcePermission | Boolean | optional | Optional flag indicating whether the permission is applied as a Salesforce-side permission. Set via the constructor overload that accepts it. |

## Constructors

```apex
global PermissionInput(
      String action,
      String role,
      String resourceId,
      String resourceType,
      String driveId,
      List<String> emails,
      List<String> salesforceUserOrGroupIds,
      List<String> resourceIds
)
```
