Skip to content

Errors

Errors always look like this:

{ "error": { "type": "domain_not_verified", "message": "acme.in is not verified yet. Check its DNS records." } }

Check type in your code; it never changes. message is written for people and may be reworded.

Status type Meaning
400 validation_error The request is invalid. The message names the field.
400 invalid_from_address test.vaartix.com used with a real recipient.
401 unauthorized Missing, invalid or revoked API key.
403 forbidden The key can’t do this (for example a send-only key on a management endpoint), or a plan limit.
403 domain_not_verified The from domain isn’t verified for your team.
403 account_paused Sending is paused for your account. Contact support.
404 not_found No such email, domain or key in your team.
409 conflict The domain is taken, or the email can’t be canceled.
409 idempotency_conflict The Idempotency-Key was used with a different request.
429 rate_limited More than 10 requests per second. Wait Retry-After seconds.
429 daily_quota_exceeded The daily limit is used up. Resets at midnight IST.
500 internal_error Our fault. Retry with the same idempotency key.
  • Retry 429 (after Retry-After), 500, and network errors, using an idempotency key.
  • Don’t retry other 4xx errors: fix the request first.