Create an API key
Create a new key
Click Create Key, give it a descriptive name (e.g.
crm-sync-production), and select the scopes your integration requires.Pass the key in requests
Include your API key as a Bearer token in theAuthorization header of every request:
Authorization header are rejected with a 401 Unauthorized response before they reach any endpoint logic.
Available scopes
Scopes follow aresource:action naming convention. Grant only the scopes your integration actually uses.
| Scope | What it allows |
|---|---|
contacts:read | Read contacts in your workspace |
contacts:write | Create and update contacts |
sequences:read | Read sequences and enrollment status |
sequences:write | Enroll or remove contacts from sequences |
contact_lists:read | Read contact list definitions and memberships |
contact_lists:write | Create and manage contact lists |
account_lists:read | Read account list definitions and memberships |
account_lists:write | Create and manage account lists |
activities:read | Read the outreach activity stream |
webhooks:read | Read webhook subscriptions |
webhooks:write | Create, update, and delete webhook subscriptions |
exclusions:read | Read contact and company exclusion rules |
exclusions:write | Create and delete exclusion rules |
tasks:read | Read tasks in your workspace |
tasks:write | Create and update tasks |
Verify your key with GET /v1/me
The/v1/me endpoint returns the identity and permissions of the calling key — useful for confirming your key is valid and that it carries the scopes you expect.
Unique identifier of the API key.
The workspace this key belongs to.
The human-readable name you gave this key at creation time.
The leading characters of the raw key value — safe to display in logs or UIs to identify which key was used.
List of permission scopes granted to this key.
Timestamp of when the key was issued.
Timestamp of the last request made with this key, or
null if it has never been used.Authentication error responses
| HTTP status | type | When it occurs |
|---|---|---|
401 Unauthorized | UnauthorizedIssue | The Authorization header is missing, malformed, or the key is invalid |
403 Forbidden | UnauthorizedIssue | The key is valid but does not have the required scope for this endpoint |
Security best practices
- Least privilege — only request the scopes your integration needs. A read-only reporting tool should never have
writescopes. - Rotate regularly — retire old keys and issue fresh ones periodically, or immediately after any suspected exposure.
- Never commit keys to source control — use environment variables or a secrets manager to inject keys at runtime.
- Monitor
last_used_at— keys that haven’t been used recently may be safe to revoke.