Authentication

Every request requires an API key passed in the Authorization header as a Bearer token.

Every request requires an API key passed in the Authorization header as a Bearer token.

Keys are scoped to either test or live mode. Test-mode messages are rendered, scored and surfaced in your dashboard but never delivered to real recipients.

text
Authorization: Bearer afn_live_pK7j3R9kXYbE4mN1c8b9aF

Scopes

Every key carries one scope, set at creation and changeable later with PATCH /v3/keys/{id}.

ParameterTypeRequiredDescription
full_accessdefaultOptionalSend, read and manage every resource in the account.
send_onlyrestrictedOptionalMay send (POST /v3/messages, POST /v3/messages.batch), cancel its own scheduled sends, and read any resource (GET). All other write operations return 403 insufficient_scope.
read_onlyrestrictedOptionalGET requests only — events, metrics, message detail. Any write operation returns 403 insufficient_scope.

Who am I?

GET /v3/whoami echoes the resolved identity: account (id, name, plan, status) and api_key (id, scope, environment). Use it to smoke-test credentials in CI before running a deploy — full reference on the Who am I page under Account.