RESTful API
A cheatsheet by @rstacruz|Refreshed 7 months ago.Refresh|View source on Github

Status codes

Status codes

Code Description
200 OK Successful get, patch (return a JSON object)
201 Created Successful post (return a JSON object)
202 Accepted Successful post, delete, path - async
204 No content Successful delete
206 Partial content Successful get - async

Error status

Error status

Code Description
401 Unauthorized Not authenticated
403 Forbidden Authenticated, but no permissions
422 Unprocessable entity Validation

Errors

Errors

HTTP/1.1 401 Unauthorized
Content-Type: application/json
{
  'id': 'auth_failed',
  'message': "You're not logged in."
}

Here’s an example of a possible error reply.

Versioning

Versioning

GET /api/foo
Accept: application/json; version=1

You can pass a version=x to the Accept request header. Info here

Authentication

Authentication

curl -is https://$TOKEN@api.example.com/

Methods

Methods

Request Description
GET /articles/1 read, returns 200
PUT /articles/1 edit (or path), returns 200
DELETE /articles/1 delete, returns 200
POST /articles create, returns 201
GET /articles list, returns 200