Skip to content

Errors

Errors carry an HTTP status and a body with a stable code and a human message. Match on code, never on the message.

{
"code": "downgrade_blocked",
"message": "You have 340 email addresses, which is more than Operator allows. Delete 90 first."
}
Status Meaning Codes you may see
400 Malformed request or invalid field invalid_json, invalid_field, invalid_id
401 Missing, expired or revoked token unauthenticated, session_expired
402 The plan does not allow it allocation_exhausted, worker_limit_reached, payment_required
403 Not permitted for this token or plan plan_required, session_required, payment_required, device_paused, address_paused, not_your_address, account_suspended
404 No such record, or not yours not_found
409 Conflicts with the current state downgrade_blocked, already_assigned, address_taken, limit_reached, card_retrying, domain_in_use
429 Rate limited rate_limited, with a Retry-After header
5xx A failure on our side or at a provider internal, send_failed, provider_error. Retry with backoff.
Code What to do
session_required The call needs a signed-in session. API keys cannot make it.
plan_required The plan does not include this. The message names the plan that does.
payment_required (403) The account is paused after a missed payment. See Missed payments.
payment_required (402) A plan change needs a payment. Use checkout.
rate_limited Wait for Retry-After seconds.