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 High Systems API. Use these to understand if a request was successful.

  • Name
    2xx
    Type
    Description

    A 2xx status code indicates a successful response.

  • Name
    4xx
    Type
    Description

    A 4xx status code indicates a client error — this means some is wrong with the request you are making.

  • Name
    5xx
    Type
    Description

    A 5xx status code indicates a server error — this means somethings happened on our end.


Error types

Whenever a request is unsuccessful, the High Systems API will return an error response with an error code, message and any issues found. 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 High Systems API — use these to understand what you have done wrong.

  • Name
    INTERNAL_SERVER_ERROR
    Type
    Description

    This means that we made an error, you can contact our support team for more help, or usually, just try again.

  • Name
    UNAUTHORIZED
    Type
    Description

    This means you are not authenticated with High Systems. Please check your Authorization header.

  • Name
    FORBIDDEN
    Type
    Description

    This means you are authenticated with High Systems, but lack the permission to perform this request.

  • Name
    BAD_REQUEST
    Type
    Description

    This means that you made an error, you might want to double check your request.

Error response

{
  "code": "BAD_REQUEST",
  "message": "Input validation failed",
  "issues": [
    {
      "code": "invalid_type",
      "expected": "string",
      "received": "undefined",
      "path": [
        "name"
      ],
      "message": "Required"
    }
  ]
}