# Errors codes

Swallow uses conventional HTTP response codes to indicate the success or failure of an API request. In general: Codes in the `2xx` range indicate success. Codes in the `4xx` range indicate an error that failed given the information provided. Codes in the `5xx` range indicate an error with Swallow's servers - these are uncommon.

| Code                        | Meaning                                                |
| --------------------------- | ------------------------------------------------------ |
| **200** - Ok                | Everything worked                                      |
| **400** - Bad Request       | Request was rejected. Check the parameters of request. |
| **401** - Unauthorised      | No valid API keys                                      |
| **403** - Forbidden         | API key is not permissioned                            |
| **404** - Not Found         | The requested resource doesn't exist                   |
| **429** - Too many requests | Too many requests hit the API                          |
| **500** - Server error      | Error within Swallow servers                           |

**Example**&#x20;

```
{
    "message": "project_name has already been used",
    "status_code": 400
}
```
