# Add base collaborator

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

Add a new base collaborator. Despite the name, this route currently only supports adding one collaborator at a time.

## 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`

## Request body

- `collaborators: array<object>` — required

  This endpoint accepts two types of collaborators: **individual user** and **group**.

## Response format

### Example — Success example

```sh
curl -X POST "https://api.airtable.com/v0/meta/bases/{baseId}/collaborators" \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "Content-Type: application/json" \
--data '{
    "collaborators": [
      {
        "permissionLevel": "edit",
        "user": {
          "id": "usr00000000000000"
        }
      }
    ]
  }'
```

## Error responses

### 403

**Add more than one collaborator** — This route currently supports adding only one collaborator at a time.

```json
{
  "error": {
    "message": "You are only permitted to add one collaborator at a time",
    "type": "INVALID_PERMISSIONS"
  }
}
```

**Email not verified** — The userId must correspond to a verified account.

```json
{
  "error": {
    "message": "User must be active and email verified",
    "type": "INVALID_PERMISSIONS"
  }
}
```
