Skip to content

Errors

Errors return JSON with an error code and, where noted, extra fields:

{ "error": "plan_max_mailboxes_reached", "limit": 1 }
Status Meaning
401 Missing or invalid API key
404 The resource does not exist, or the key’s scope does not include it. The two are deliberately indistinguishable
429 Rate limit exceeded. Wait for Retry-After seconds
Status error Extra Meaning
400 invalid_name Name is empty or too long
400 invalid_subdomain Subdomain has characters outside a-z, 0-9, -
400 invalid_retention max Retention exceeds the plan ceiling in days
400 invalid_group_id, group_not_found Bad group reference
409 subdomain_taken Another mailbox has that subdomain
409 subdomain_reserved Subdomain is reserved by mailcatchr
409 plan_max_mailboxes_reached limit Plan mailbox cap reached

await answers 204 with no body on timeout. It is not an error.

Status error Extra Meaning
400 invalid_body No textBody or htmlBody, or a malformed address
403 outbound_disabled Outbound is off for the mailbox, or the plan does not include it
422 invalid_from_domain domain from is not on a verified sending identity
422 suppressed_recipients recipients One or more recipients are on the suppression list
429 daily_outbound_limit_reached count, limit Daily send cap reached
402 insufficient_funds balance_cents, required_cents Wallet cannot cover the send
402 storage_limit_reached limit_bytes Workspace storage is full
Status error Extra Meaning
400 invalid_<field> The named field failed validation, for example invalid_forward_url
409 hook_limit_reached limit Plan interceptor cap reached