# Update collaborator base permission

`PATCH https://api.airtable.com/v0/meta/bases/{baseId}/collaborators/{userOrGroupId}`

Updates the permission level of a collaborator on a base.

## Requirements

- **Authentication:** [Personal access token](https://airtable.com/developers/web/api/authentication.md#types-of-token), [OAuth integration](https://airtable.com/developers/web/api/authentication.md#types-of-token)
- **Scope:** [`workspacesAndBases:write`](https://airtable.com/developers/web/api/scopes.md#workspaces-and-bases-write)
- **User role:** Base collaborators subject to [sharing restrictions](https://support.airtable.com/docs/workspace-sharing-restrictions)
- **Billing plans:** Enterprise (pre-2023.08 legacy plan), Enterprise Scale

## Path parameters

- `baseId: string`

- `userOrGroupId: string`

## Request body

- `permissionLevel: Application-Permission-Levels` — required

## Response format

### Example — Example Request

```sh
curl -X PATCH "https://api.airtable.com/v0/meta/bases/{baseId}/collaborators/{userOrGroupId}" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
--data '{
    "permissionLevel": "read"
  }'
```

## Error responses

### 403

**Not base collaborator** — This route can only be used for users who are already collaborators on the base. To add a new collaborator, use the [add base collaborator](base-addBaseCollaborators) route.

```json
{
  "error": {
    "message": "Invalid permissions",
    "type": "INVALID_PERMISSIONS"
  }
}
```
