When an API call succeeds, the API will return a 200 or 201 HTTP response and a JSON response body unless otherwise noted.

If there’s some error, the API will return an HTTP response in the 400 or 500 range and a response body indicating what the error was. For example:

{ "error": "Authorization Failed", "message": "API Key not present" } with a 401 error.

401 | Authorization failed

If you receive a 401 error - check the error message to see whether the issue is due to:

  • API key not being present
  • API key being present when only API secret is permitted
  • An incorrect API key is used

403 | Subscriber limit exceeded

We return a 403 when the number of subscribers in the request would exceed the account’s subscriber limit - the account would need to upgrade to a higher limit and restart the subscriber upload to continue.

422 | Bad data

When you create or update a field, you may receive an error response with status code 422 if any fields contain bad data or required fields are missing.

429 | Rate limiting

Our rate limit is no more than 120 requests over a rolling 60 second period, for a given api key.

If your request rate exceeds our limits, you will receive a 429 response, which your code should gracefully handle. We recommend spacing out your requests and performing an exponential backoff to keep within the limit.

500 | Internal server errors

If the server is overloaded or you encounter a bug, you will receive a response with status code 500. Try again after a short period, and if you continue to encounter an error, please raise the issue with support.