Skip to navigation

Response Codes

View as Markdown

All API responses return a standard HTTP status code. Every body includes a success flag; on error it is false and a message field explains what went wrong.

{
"success": false,
"message": "Campaign not found: CAMPXXXXXXXXXXXXXXXXXXXX"
}

A request that fails never returns 200, so you can rely on the status code alone.

Status Codes

CodeStatusDescription
200SuccessRequest was successful.
400Bad RequestA parameter or the request body is invalid (a malformed limit or last_key, a body that is not valid JSON, a field that cannot be set), or the campaign is not ready, e.g. it has no filters or seats yet.
401UnauthorizedThe X-API-KEY header is missing.
403ForbiddenThe API key is invalid, or it has no access to this account, endpoint or method.
404Not FoundThe route does not exist, or the resource (campaign, prospect, seat, sender, template, thread, message…) does not exist in this account.
429Too Many RequestsRate limit exceeded. Back off and retry.
500Internal Server ErrorAn unexpected error occurred on the server.

Request bodies

Send only the fields listed on each endpoint. Any other field returns 400, except when adding a prospect, where unknown fields are ignored.

Rate limits

Every API key, account or agency, has the same limits:

Sustained rateBurstDaily quota
10 requests/s20 requests250,000 requests

Requests over the limit return 429. Retry with exponential backoff, starting at about one second.