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.
retryAfter field tells you how many seconds to wait before retrying. The response also includes rate limit headers:
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.