Errors

In this guide, we will talk about what happens when something goes wrong while you work with the API. Mistakes happen, and mostly they will be yours, not ours. Let's look at some status codes and error types you might encounter.

You can tell if your request was successful by checking the status code when receiving an API response. If a response comes back unsuccessful, you can use the error type and error message to figure out what has gone wrong and do some rudimentary debugging (before contacting support).


Status codes

Here is a list of the different categories of status codes returned by the Ntherm API. Use these to understand if a request was successful.

  • Name
    2xx
    required
    required
    Description

    A 2xx status code indicates a successful response.

  • Name
    4xx
    required
    required
    Description

    A 4xx status code indicates a client error — this means it's a you problem with one exception: http error code 422. This is an issue with the phone_number itself.

  • Name
    422
    required
    required
    Description

    A 422 status code indicates that the request was well-formed but cannot be accepted at this time due to reasons inherent to the phone_number. (DNC, Duplicate, Litigator, etc.)

  • Name
    5xx
    required
    required
    Description

    A 5xx status code indicates a server error — you won't be seeing these.


Error types

Whenever a request is unsuccessful, the Ntherm API will return an error response with an error type and message. You can use this information to understand better what has gone wrong and how to fix it. Most of the error messages are pretty helpful and actionable.

Response 422

HTTP/1.1 422 Unprocessable Entity
{
  "can_post_phone_bit": false,
  "message": [{"error": "Phone number can not be sent to postLead at this time."}]
}

Response 400

HTTP/1.1 400 Bad Request
{
  "can_post_phone_bit": false,
  "message":[{"error":"Invalid Characters: 7271234567x"}]
}

Response 500

HTTP/1.1 500 Internal Server Error

{
  "can_post_phone_bit": false,
  "message": [{"error": "transient error occured try your request later"}]
}

Was this page helpful?