All errors follow:
{ "status": "error", "message": "string", "data": null | { ... } }
Common cases
  • 401 Missing/invalid API key
  • 400 insufficient_allowance / insufficient_balance
  • 422 Validation errors (see data.errors[])
  • 500 Internal error
Idempotency: Use your own client_ref to dedupe on your side.
Webhook retries: Implement idempotent handlers; verify signature; return 2xx.