Resources, verbs, and statelessness as a contract.
REST Design Principles: resources, verbs, and statelessness as a contract
turn boundaries into contracts
REST is great for resources, awkward for workflows.
REST organizes APIs around resources identified by URLs and manipulated with standard HTTP verbs. Done well it's predictable, cacheable, and discoverable.
Nouns in URLs, verbs in HTTP. POST /orders creates; PUT /orders/123 replaces; PATCH /orders/123 modifies.
Use status codes: 200/201/204, 400/401/403/404, 409 conflict, 422 unprocessable, 429 rate-limited, 5xx for server.
Avoid /createOrder, /getThings — those reinvent verbs. Pagination, filtering, sorting via query params.
Designing a project-management API.