Errors and limits
Errors use conventional HTTP status codes and a JSON body.
{
"error": {
"code": "invalid_recipient",
"message": "The value of \"to\" is not a valid e-mail address.",
"request_id": "req_4c7e0a12"
}
}| Status | Meaning |
|---|---|
400 | The request is malformed or a field is invalid |
401 | Missing or revoked API key |
404 | The message or template does not exist |
409 | The action conflicts with the current state |
429 | Rate limit exceeded |
5xx | Something went wrong on our side, safe to retry with an idempotency key |
Rate limits
Live keys may send 100 requests per second. Responses include X-RateLimit-Limit, X-RateLimit-Remaining and X-RateLimit-Reset. When you receive 429, wait for Retry-After seconds before retrying.