A **REST API** (Representational State Transfer) is an architectural style for building web services. It uses standard HTTP methods to perform operations on resources.
**Core principles:** - **Stateless** — each request contains all info needed; server stores no client state - **Resource-based** — everything is a resource with a URL (e.g., /users/42) - **HTTP methods as actions:** - GET → read - POST → create - PUT/PATCH → update - DELETE → delete
**Example:** ``` GET /users → list all users GET /users/42 → get user 42 POST /users → create a user PATCH /users/42 → update user 42 DELETE /users/42 → delete user 42 ```
Responses are typically JSON. Status codes communicate results: 200 OK, 201 Created, 404 Not Found, 401 Unauthorized.