Skip to content

Scopes

Every access token carries one or more scopes. An endpoint that needs a scope your token doesn’t have returns:

{
"error": "Forbidden",
"code": "SCOPE_REQUIRED",
"message": "This action requires the 'purchase' scope.",
"required_scope": "purchase"
}
Scope Unlocks
discovery Read-only: counts, lookups, segment/audience reads, demographics, the field catalog, and polling job/run status. Nothing here creates or charges anything.
purchase Read-write: create/update segments and audiences, run microbatch/file matches, link campaigns, and trigger deliveries. This is where billable operations live.
account Self-service account management: API key creation/revocation, webhook subscriptions, delivery destination settings, and billing/usage reads.

Request the narrowest set your integration actually needs. A read-only reporting integration should carry discovery alone; give it purchase only if it actually creates audiences or triggers deliveries. account is powerful enough (it can mint other API keys) that it’s worth keeping off keys used by anything other than your own account-management tooling.

OAuth-issued tokens (see OAuth) work the same way, with one difference: the scopes available to request are bounded by what the connecting client app is allowed to ask for, not just what the authorizing user could grant. A user can only approve a subset of the client’s allowed scopes — never more.