QuataPay
Developer

Response codes

HTTP status codes and the JSON envelope you can rely on.

Browse developer docs
Back to developer docs

Envelope

Every response — success or error — comes back in the same envelope:

// success
{ "data": { ... } }

// error
{ "error": { "code": "FORBIDDEN", "message": "human-friendly message" } }

HTTP status codes

CodeMeaningRetry?
200OK
201Created
204No content (DELETE)
400Bad request — payload failed validationNo — fix it
401Missing or invalid token / API keyNo — re-auth
403Token valid but lacks permissionNo
404Resource not foundNo
409Conflict — e.g. idempotency replay with different payloadNo — fix it
422Validation passed but business rule rejected the requestNo
429Rate-limited — honour Retry-AfterYes, with backoff
500–504Server problem on our sideYes, with backoff + jitter

Common error codes

  • UNAUTHORIZED
  • FORBIDDEN
  • NOT_FOUND
  • VALIDATION_ERROR
  • IDEMPOTENCY_CONFLICT
  • INSUFFICIENT_FUNDS
  • WALLET_FROZEN
  • RATE_LIMITED
  • TOKEN_EXPIRED