4xx or 5xx status and a JSON body:
Every response also carries an
X-Request-Id header. Include it when you contact support.
Types
Codes
missing_api_key
NoAuthorization: Bearer ps_… header. See Authentication.
invalid_api_key
The key doesn’t exist or was revoked. Create a new one in the dashboard.insufficient_credits
The live send needs more credits than your team has. Nothing was sent. Top up and retry.missing_scope
The key doesn’t have the scope this endpoint needs, for exampleemails:send. See Scopes.
team_paused
Sending is paused for your team, usually after high bounce or complaint rates (see Sending reputation). Contact support.resource_missing
The ID doesn’t match anything your team owns.idempotency_key_reused
You reused anIdempotency-Key with a different body. Use a new key for a new request. See Idempotency.
idempotency_in_progress
A request with the sameIdempotency-Key is still running. Wait a moment and retry.
idempotency_key_too_long
Idempotency-Key is limited to 255 characters.
invalid_parameter
A field is missing or malformed.param names it and message says what’s wrong.
missing_body
The email has neitherhtml nor text. Send at least one.
too_many_recipients
More than 50 recipients acrossto, cc and bcc. Split the send.
domain_not_verified
With a live key, thefrom address must belong to a verified domain.
all_recipients_suppressed
Every recipient is on your suppression list after a hard bounce or a complaint. Nothing was sent.rate_limited
More than 10 requests per second on this key. WaitRetry-After seconds.
internal_error
Something broke on our side. Retry with backoff, using an idempotency key. If it persists, contact support with theX-Request-Id.
