Skip to main content
The Paubox Email API uses standard HTTP status codes. All error responses include a JSON body with a message field describing the problem.

Status codes

400 Bad Request: debugging checklist

A 400 usually means the request body is missing a required field or contains an invalid value. Work through this list:
The most common causes of 400 Bad Request:
  • from domain not verified: the sender address must belong to a domain you have verified in Email API > Settings. Sending from @gmail.com or any unverified domain always returns a 400.
  • Missing subject: data.message.headers.subject is required.
  • Empty recipients array: data.message.recipients must contain at least one valid email address.
  • Invalid base64 in attachment: the content field of every attachment must be valid base64-encoded data.
  • No message body: at least one of text/plain or text/html must be present in data.message.content.

401 Unauthorized

The API key is missing or malformed.

429 Too Many Requests

You have exceeded the rate limit for your plan. Back off and retry. See Limits for rate limit details. For high-volume sending, use the bulk messages endpoint (recommended max 50 per request) rather than looping over individual /messages calls.

Example error response