Response Codes

Response Code Summary

All API requests will respond with an appropriate HTTP status code, and your API client should handle each response class differently:

Status CodeDescription
200-299Perspio received, understood, and accepted the API request. The request has either been completed or is in the process of being completed.
300-399Perspio received, understood, and got the API request, yet the client must take further action to complete the request. Often this includes redirecting to other URLs.
400-499An client error occurred when handling the requesusuallyten because the client either did not provide the correct parameters, did not have access to the resources, or tried to perform an action that is otherwise not possible.
500-599Perspio received and accepted the requ. Still, an error occurred within Perspio while handling it. These errors signify a problem with Perspio, not a problem with the client's request.

Response Code Details

Status CodeDescription
200OK - The request has succeeded. The client can read the result of the request in the body and the headers of the response.
201Created - The resource was created successfully. The response may have information about the newly created resource.
400Bad Request - General client error, possibly malformed data.
401Unauthenticated - The API key is missing or invalid.
403Forbidden - The client is not allowed to access the resource
404Not Found - The API endpoint is invalid or a path parameter is missing or invalid.
405Method Not Allowed - The API endpoint does not accept that HTTP method.
429Too Many Requests - The client has reached or exceeded a rate limit, or the server is overloaded. See Rate Limits for suggestions on retry patterns.
5XXInternal Server Error - Response body, may contain further information.

📘

4xx Error Codes

The error response body may include an error message, but do not hard-code against this message. We reserve the right to change the error message without auto-incrementing the API version. Only use error messages for debugging purposes.

📘

5XX Responses

These responses are likely momentary errors (e.g. temporary unavailability), so requests should be retried using an exponential back-off. Note that the body of these responses will be strings and not JSON encoded.