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 Code | Description |
---|---|
200-299 | Perspio received, understood, and accepted the API request. The request has either been completed or is in the process of being completed. |
300-399 | Perspio 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-499 | An 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-599 | Perspio 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 Code | Description |
---|---|
200 | OK - The request has succeeded. The client can read the result of the request in the body and the headers of the response. |
201 | Created - The resource was created successfully. The response may have information about the newly created resource. |
400 | Bad Request - General client error, possibly malformed data. |
401 | Unauthenticated - The API key is missing or invalid. |
403 | Forbidden - The client is not allowed to access the resource |
404 | Not Found - The API endpoint is invalid or a path parameter is missing or invalid. |
405 | Method Not Allowed - The API endpoint does not accept that HTTP method. |
429 | Too Many Requests - The client has reached or exceeded a rate limit, or the server is overloaded. See Rate Limits for suggestions on retry patterns. |
5XX | Internal 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.