Base URLs
Use the sandbox environment for development and testing. Sandbox transactions do not move real funds.
Authentication
Send your API key and secret on every request. Create them in the dashboard under Developers → API Keys.Idempotency
Send anIdempotency-Key header on every POST, PUT, PATCH and DELETE request, so a retried request isn’t processed twice.
payout-{customer_id}-{timestamp}). Keys are scoped to your account. A retry with the same key and body within 60 minutes returns the original response. Reusing a key with a different body returns 409. See Idempotency.
Rate limits
Requests are rate-limited per business account: by default 20 writes (POST, PUT, PATCH, DELETE) and 50 reads (GET) a second. Some endpoints have lower limits. See Rate limits.
Over the limit, you get 429 Too Many Requests with a Retry-After header. Wait that many seconds, then retry with exponential backoff.
Standard response format
All successful responses follow this structure:Error codes
Error response format
Every failed response hasstatus: "failed", and the reason in data. Most errors put a message in data.error. Validation errors list the failing fields in data.
Every failed response also includes error_details, with the same shape for every endpoint. Read errors from error_details so you don’t have to handle each endpoint’s data shape.
A
5xx response’s message is always generic. It never contains internal details.

