# Errors

Whaly uses conventional HTTP response codes to indicate the success or failure of an API request. In general:&#x20;

* Codes in the `2xx` range indicate success.
* Codes in the `4xx` range indicate an error that failed given the information provided (e.g., a required parameter was omitted, an invalid value was provided, etc.).&#x20;
* Codes in the `5xx` range indicate an error with Whaly's servers (these are rare).

Every time that Whaly API is returning an Error, the following schema is used:

```json
{
    "status_code": 401, // The status code of the response
    "message": "Unauthorized", // A detailed explanation of the error
    "request_id": "20256c3e71efa5aa267df84eb9c129e5" // The RequestID that you can share with your support contact to troubleshoot the issue
}
```

## HTTP Status code summary

| 200 - OK                           | Everything worked as expected.                                                                                                                                   |
| ---------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| 400 - Bad Request                  | The request was unacceptable, often due to missing a required parameter.                                                                                         |
| 401 - Unauthorized                 | No valid Secret key provided.                                                                                                                                    |
| 403 - Forbidden                    | The Secret key doesn't have permissions to perform the request.                                                                                                  |
| 404 - Not Found                    | The requested resource doesn't exist.                                                                                                                            |
| 429 - Too Many Requests            | Too many requests hit the API too quickly. We recommend an exponential backoff of your requests. [See: Rate Limiting](https://developers.whaly.io/rate-limiting) |
| 500, 502, 503, 504 - Server Errors | Something went wrong on Whaly's end. (These are rare.)                                                                                                           |
