X-API-Key header. There is no other
authentication method for merchant traffic.
404, never 403.
Scopes
Keys carry a list of scopes, and every endpoint requires one. Request the narrowest set that does the job.
Each operation in the API Reference declares its
required scope as
x-required-scopes.
A minimum viable payout integration needs
payouts:write, payouts:read,
payment_instructions:read, identity:enquiry, and refunds:manage — the last
one because a refund destination is a precondition of creating a payout at all.Failure responses
All of these use the standard error envelope.INSUFFICIENT_SCOPES names exactly what was missing, so you can tell a permissions
problem from an authentication one without guessing:
Handling keys safely
Never put a key in client code
Never put a key in client code
The key authorises payouts. It belongs on your server, in a secrets manager or
environment variable — never in a browser bundle, mobile app, or repo.
Use separate keys per system
Use separate keys per system
Issue distinct keys for your payout service, your reconciliation job, and your
staging environment. When one leaks you revoke one key instead of rotating
everything at once.
Rotate without downtime
Rotate without downtime
Several keys can be active at once. Issue the new key, deploy it, confirm
traffic has moved by checking each key’s last-used timestamp, then revoke the
old one.
Do not reuse the key as a webhook secret
Do not reuse the key as a webhook secret
Webhook signatures use a separate
whsec_ secret with its own rotation. The two
credentials move in opposite directions — your key authenticates you to us, the
webhook secret authenticates us to you.