Skip to main content

Error Model and Retries

Response model

Successful responses follow:
{ "data": { }, "success": true }
Error responses follow:
{ "error": "CODE", "code": "P003", "message": "...", "statusCode": 402 }

Retry strategy

  • Retry transient failures (429, 5xx) with exponential backoff + jitter.
  • Do not blindly retry validation/auth failures (400, 401, 403).
  • Keep write paths idempotent using stable request identifiers.

Safe retry policy

  1. classify response (transient vs permanent)
  2. retry only transient class
  3. cap max attempts and total retry window
  4. log request ID and final outcome
  • /developer/rate-limits-and-budgeting
  • /developer/webhook-signatures-and-idempotency