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.
Header
text
Authorization: Bearer afn_live_pK7j3R9kXYbE4mN1c8b9aFScopes
Every key carries one scope, set at creation and changeable later with PATCH /v3/keys/{id}.
| Parameter | Type | Required | Description |
|---|---|---|---|
full_access | default | Optional | Send, read and manage every resource in the account. |
send_only | restricted | Optional | May 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_only | restricted | Optional | GET 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.