Skip to main content

Error Response Format

All errors follow a consistent JSON structure:

HTTP Status Codes

Error Codes

Authentication Errors (401)

Permission Errors (403)

Resource Errors (404)

Validation Errors (400/422)

Payment Errors (402)

Business Logic Errors (422)

Rate Limit Errors (429)

Conflict Errors (409)

Provider Errors (502)

Internal Errors (500)

Retry Strategy

Retryable vs Non-Retryable

Exponential Backoff

For retryable errors, use exponential backoff:

Rate Limit Handling

When you receive a 429, check the X-RateLimit-Reset header for when you can retry: