Back to Cheat Sheets
Cheat Sheets/REST API Best Practices
backend

REST API Best Practices

RESTful API design patterns

RESTAPIHTTP
HTTP Methods
GET

Retrieve resources. Should be safe and idempotent

POST

Create new resources. Not idempotent

PUT

Replace entire resource. Idempotent

PATCH

Partially update resource

DELETE

Remove resource. Idempotent

Status Codes
200 OK

Request succeeded

201 Created

Resource created successfully

204 No Content

Success, no response body

400 Bad Request

Invalid request syntax

401 Unauthorized

Authentication required

403 Forbidden

Insufficient permissions

404 Not Found

Resource doesn't exist

429 Too Many Requests

Rate limit exceeded

500 Internal Server Error

Server-side error

URL Design
Use nouns
GET /users/123

Resources as nouns, not verbs

Plural
/users, /posts

Use plural nouns

Nesting
/users/123/posts

Show relationships

Query params
/posts?page=2&limit=10

Filtering and pagination