Client App / Browser REST API stateless - resource-oriented GET POST PUT DELETE Database SQL / NoSQL HTTP request JSON response query rows

GET

Fetch data

POST

Create resource

PUT

Update resource

DELETE

Remove resource

200 OK
Request
GET /api/users HTTP/1.1 Host: api.example.com Authorization: Bearer <token>
Response
[ { "id": 1, "name": "Alice", "email": "alice@ex.com" }, { "id": 2, "name": "Bob", "email": "bob@ex.com" } ]
201 Created
Request
POST /api/users HTTP/1.1 Content-Type: application/json { "name": "Charlie", "email": "charlie@ex.com" }
Response
{ "id": 3, "name": "Charlie", "email": "charlie@ex.com", "createdAt": "2026-04-02" }
200 OK
Request
PUT /api/users/3 HTTP/1.1 Content-Type: application/json { "name": "Charlie B.", "email": "cb@ex.com" }
Response
{ "id": 3, "name": "Charlie B.", "email": "cb@ex.com", "updatedAt": "2026-04-02" }
204 No Content
Request
DELETE /api/users/3 HTTP/1.1 Host: api.example.com Authorization: Bearer <token>
Response
HTTP/1.1 204 No Content X-Request-Id: a1b2c3 (empty body)