# Scopes

What each scope grants, read from the same list the server checks against.

Source: https://docs.leadarc.io/scopes.html

A scope is `resource:action`. Each endpoint needs one. Missing it is [`403 insufficient_scope`](errors.html#status-403), and the response names the scope it wanted.

## All 17 scopes

| Scope | Grants |
| --- | --- |
| `workspaces:read` | List and read the workspaces this key can reach |
| `members:read` | List the people who can work a workspace |
| `leads:read` | List and read leads, their replies, and who they are assigned to |
| `leads:write` | Set a lead's tag, mark it read, unread, responded, booked or disqualified, and set assignees |
| `threads:read` | Read the full text of every message in a conversation |
| `notes:read` | Read notes on a lead |
| `notes:write` | Add a note to a lead |
| `tasks:read` | Read tasks |
| `tasks:write` | Create, edit, complete and delete tasks |
| `meetings:read` | Read scheduled meetings |
| `meetings:write` | Set a meeting's outcome, and read its internal notes |
| `event_types:read` | Read event types and their free slots |
| `templates:read` | Read reply templates and render one against a lead |
| `assets:read` | Read a workspace's assets |
| `sequences:read` | Read follow-up sequences and their steps |
| `campaigns:read` | Read the campaign roster and its tags |
| `insights:read` | Read funnel, campaign and daily numbers |

## Three that are easy to get wrong

- `threads:read` is separate from `leads:read`. Leads give you a preview line. Threads give you the full text of every email.
- `meetings:write` also unlocks a read field: `internal_notes`, on a single meeting only, never in a list.
- `members:read` exposes staff names and emails. Task and assignment endpoints need it.

## Presets

Starting points in the create dialog. No preset grants everything.

| Preset | For | Scopes |
| --- | --- | --- |

## A key cannot beat its owner

On every request the key's scopes are cut down to what the owner's role allows. `GET /v1/me` returns both lists: `scopes` is usable now, `scopes_withheld` was granted but is no longer allowed.

## Scopes that do not exist yet

Asking for one of these today fails at key creation. In v2: `replies:send`, `bookings:write`, `events:read`, `webhooks:read`, `webhooks:write`. In v3: `leads:suppress`, `sequences:write`, `assignments:read`, `assignments:write`, `enrichment:read`.

---

Base URL `https://api.leadarc.io/v1`. Generated from the API source.
