Personal access tokens
Create and revoke tokens in the dashboard under Settings → API tokens. For AI clients, use Settings -> MCP instead. MCP supports browser OAuth for compatible clients and a scoped token fallback for clients that need bearer-token auth. See MCP integrations.Request headers
Send the token on every request:POST, PATCH, and PUT requests with a body, also send:
Token lifetime
Personal access tokens expire six months after they are created. Expired or revoked tokens return401 Unauthorized.
Email verification
All/api/v1/* routes require a verified email address on the token owner. Unverified users receive an authentication error.
OAuth scopes
Each token carries one or more scopes. Routes declare the minimum scope required. If the token lacks that scope, the API returns403 Forbidden even when the user would otherwise be allowed in the UI.
Available scopes
| Scope | Description |
|---|---|
teams:read | Read teams, plan limits, and team monitoring defaults |
teams:write | Update team monitoring defaults (cadence, thresholds, escalation) |
sites:read | Read sites and site monitoring data |
sites:write | Create and update sites |
sites:delete | Delete sites |
checks:read | Read check runs and results |
checks:run | Queue manual check runs |
checks:delete | Delete manual check runs |
issues:read | Read issues (monitoring incidents) |
Scopes map to team permissions. For example,
sites:write satisfies the createSite and updateSite permissions when the token is used. Team role rules still apply: a member without site-create permission cannot create sites even with sites:write on the token.Recommended scope sets
Different use cases require different scope combinations:Read-only monitoring
Read-only monitoring
Configure team monitoring
Configure team monitoring
Add
teams:write to read team monitoring settings:Deploy / provision sites
Deploy / provision sites
Add
sites:write to the read-only set:CI check runner
CI check runner
Add
checks:run for running checks:Team access and billing
Authentication proves who is calling. Team routes also enforce:Membership
The user must belong to the team in the URL (or implied by the site/check/issue).
Otherwise the API returns
404 to avoid leaking cross-tenant resources.What v1 does not support
The public v1 API documented here is limited to personal access tokens created in the dashboard. MCP has its own remote server and install flow. The following are not part of the v1 API guide:- Third-party OAuth authorization code flows for the JSON API
- Client credentials / machine-only tokens for customers
- Anonymous or unauthenticated endpoints
Security practices
Store securely
Store tokens in secrets managers, not source control
Separate environments
Use separate tokens per environment (staging vs production)
Revoke immediately
Revoke tokens immediately when an integration is retired
Narrow scopes
Prefer narrow scopes and dedicated service users where your plan allows