Errors

In this guide, we will talk about what happens when something goes wrong while you work with the API. 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.


Status codes

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

  • Name
    2xx
    Description

    A 2xx status code indicates a successful response.

  • Name
    400
    Description

    A 400 status code indicates a bad request.

  • Name
    401
    Description

    A 401 status code indicates that the request is unauthorized - a valid API was not provided.

  • Name
    403
    Description

    Forbidden. A 403 status code indicates that the action is not allowed for provided API key

  • Name
    404
    Description

    A 404 status code indicates that the requested data does not exist.

  • Name
    429
    Description

    A 429 status code is returned when rate limit has been exceeded.

  • Name
    5xx
    Description

    A 5xx status code indicates a server error.


Error types

Whenever a request is unsuccessful, the Previsto 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.

Here is a list of the two error types supported by the Previsto API — use these to understand what you have done wrong.

  • Name
    api_error
    Description

    API errors cover any other type of problem (e.g. a temporary problem with Previsto's servers) and should turn up only very infrequently.

  • Name
    invalid_request
    Description

    Invalid request errors arise when your request has invalid parameters or body.

Error response

{
  "type": "invalid_request",
  "message": "Unable to persist contact. Name must be specified.",
  "param": "name"
}