Skip to main content

Overview

Every API key carries one or more scopes, and the API enforces them on every request. Scopes let you:
  • Limit blast radius if a key leaks or is misused.
  • Hand a dependent (third-party integration, BI tool, automation) only the access it actually needs.
Pick the narrowest scope set that covers your use case. The catalogue below describes every scope, and the recommended scope sets section lists sensible starting points for common integration patterns.

Scope vocabulary

Scopes have the shape resource:action, for example payouts:write. Two actions are defined today: read and write. Each endpoint requires one or more scopes following its resource and HTTP verb (GET /v1/payouts requires payouts:read; POST /v1/payouts requires payouts:write). You don’t have to memorise the rule. The authoritative list is GET /v1/scopes, and the required_scopes field on a 403 tells you exactly what an endpoint needs.

Catalogue

GET /v1/scopes is the live source of truth (public, no authentication required). The catalogue is filtered by your request’s api-version header, so the list reflects what’s available on the version you’re calling.

Aliases

Three aliases expand to a set of concrete scopes:
A full_access key automatically gains access to scopes added to the catalogue later. If you want a key whose budget is fixed at creation time, choose explicit scopes or a narrower alias.

Choosing scopes for a key

Scopes are picked at key-creation time in the Augustus Dashboard. Some starting points for common integration patterns: When in doubt, start narrow. If a real call returns insufficient_scope, the error tells you exactly what’s missing, so widen and rotate the key.

Verifying & troubleshooting

Inspecting a key’s scopes

GET /v1/api_key returns the resolved scope set for the key authenticating the request. Useful at session start to plan within budget rather than discovering limits via 403 responses.

Authorization errors

A request that doesn’t satisfy an endpoint’s required scopes is rejected with 403 insufficient_scope. The response carries a required_scopes array enumerating every scope the endpoint requires, regardless of what your key has:
Subtract your key’s scopes (from GET /v1/api_key) from required_scopes to know exactly what to add when you create the next key. insufficient_scope is distinct from permission_denied, which covers non-scope authorization failures such as IP allowlist mismatches or account approval state.

Rotating scopes

The scope set on an existing key is immutable. To change scopes, create a new key and revoke the old one. Recommended rollout:
  1. Create a new key in the Augustus Dashboard with the new scope set.
  2. Verify with GET /v1/api_key (using the new key) that scopes is what you expect.
  3. Roll the new key out across your services (env var swap, secret rotation, etc.).
  4. Revoke the old key in the dashboard once no traffic is using it.