Foursquare uses the appropriate HTTP status codes to indicate success or failure of an API request. Generally, codes in the `2xx` range indicate a successful request and codes in the `4xx` range indicate that some information provided was invalid, omitted or the resource is restricted. Code in the `5xx` range indicate an error with our servers.

## Status Codes

| Response                    | Code | Description                                                                                          |
|-----------------------------|------|------------------------------------------------------------------------------------------------------|
| **OK**                      | 200  | Everything works as expected                                                                          |
| **Bad Request**             | 400  | Any case where a parameter is invalid, or a required parameter is missing.                           |
| **Unauthorized**            | 401  | Invalid request token                                                                                 |
| **Forbidden**               | 403  | The requested information is restricted                                                               |
| **Not Found**               | 404  | Endpoint does not exist.                                                                              |
| **Method Not Allowed**      | 405  | Attempting to use POST with a GET-only endpoint, or vice-versa.                                      |
| **Conflict**                | 409  | The request could not be completed as it is. Use the information included in the response to modify the request and retry. |
| **Internal Server Error**   | 500  | Foursquare’s servers are unhappy. There is either a bug on our side or there is an outage. The request is probably valid but needs to be retried later. |

## Error Messages

Additional details will be provided in the `message` field of the response.

JSON

```json
{
    "message": "Invalid request token."
}
```
