# Requests, Responses and Error Codes

The Erudus API supports GET, POST, PUT and DELETE HTTP methods for interacting with resources.

### SSL

All endpoints require HTTPS.

### JSON

The Erudus API supports JSON data format **only**. Most POST and PUT requests require a valid JSON object for the body. The responses generated by the API will also be in JSON format.

It is recommended to supply the following header when making API requests:

```
Accept    application/json
```

When sending data in a PUT or POST requests you should add the following header:

```
Content-Type    application/json
```

### Status Codes

The Erudus API attempts to return appropriate HTTP status codes for every request.

<table><thead><tr><th width="100">200</th><th>OK</th><th>Success!</th></tr></thead><tbody><tr><td>201</td><td>Created</td><td>The request has been fulfilled and resulted in a new resource being created.</td></tr><tr><td>204</td><td>No Content</td><td>The server successfully processed the request, but is not returning any content.</td></tr><tr><td>304</td><td>Not Modified</td><td>There was no new data to return.</td></tr><tr><td>400</td><td>Bad Request</td><td>The request was invalid or cannot be otherwise served.</td></tr><tr><td>401</td><td>Unauthorized</td><td>Authentication credentials were missing or incorrect.</td></tr><tr><td>403</td><td>Forbidden</td><td>The request is understood, but it has been refused or access is not allowed.</td></tr><tr><td>404</td><td>Not Found</td><td>The URI requested is invalid or the resource requested, does not exists.</td></tr><tr><td>406</td><td>Not Acceptable</td><td>Returned when an invalid format is specified in the request.</td></tr><tr><td>422</td><td>Unprocessable Entity</td><td>Returned when data validation fails.</td></tr><tr><td>429</td><td>Too Many Requests</td><td>Returned when rate limit is exhausted for the resource.</td></tr><tr><td>500</td><td>Internal Server Error</td><td>Something is broken. Please contact us and let us know.</td></tr><tr><td>502</td><td>Bad Gateway</td><td>Erudus is down or being upgraded.</td></tr><tr><td>503</td><td>Service Unavailable</td><td>Erudus may be up, but is overloaded with requests. Try again later.</td></tr><tr><td>504</td><td>Gateway timeout</td><td>Erudus is up, but the request couldn’t be serviced due to some failure within our stack. Try again later.</td></tr></tbody></table>

<br>
