Skip to main content

Error response format

Every error response has the same shape:

HTTP status codes

400 Bad Request

The request body failed validation.

401 Unauthorized

Authentication failed. Check your API key.

403 Forbidden

The request was authenticated but not permitted.

404 Not Found

The requested resource does not exist under your account.

429 Too Many Requests

You have exceeded the rate limit for your account tier.
The retryAfter field tells you how many seconds to wait before retrying. The response also includes rate limit headers:
Rate limits by tier:

500 Internal Server Error

An unexpected error occurred on our side. These are rare and transient — retry with exponential backoff. If the issue persists, contact support.

API key permissions

When you create an API key in the dashboard, you can scope it to specific permissions. If a request is made with a key that lacks the required permission, you will receive:
Keys with full access (no permission restrictions) can call any endpoint. POST /api/v1/payments requires a valid API key but no specific permission scope.