errors

Every error is a typed JSON object — match on name, never on message text.

{ "name": "daily_quota_exceeded", "message": "daily sending quota exceeded" }
namestatusmeaning
validation_error400malformed request — the message says exactly what
unauthorized401missing/invalid API key or session
restricted_api_key403sending_access key used on a management endpoint
domain_not_verified403from-address domain isn't verified for your org
recipient_suppressed403recipient is on your suppression list
sending_paused403your org's sending is paused
not_found404resource doesn't exist (or isn't yours)
invalid_idempotent_request409idempotency key reused with a different body
not_cancelable409only scheduled emails can be canceled
daily_quota_exceeded429daily send quota reached — resets at midnight UTC