Quick definition: The most common design pattern for web APIs. URLs name resources; HTTP verbs describe actions.
Core principles
REST is not a protocol but an architectural style. Roy Fielding defined it in his 2000 doctoral thesis.
1. Resource-oriented: Everything is represented by a URL. /users/123, /orders/456.
2. HTTP verbs: Actions are taken via HTTP methods:
GET /users/123— read the userPOST /users— create a new userPUT /users/123— update the userDELETE /users/123— delete the user
3. Stateless: Each request is independent. The server doesn't need to remember previous requests.
REST vs GraphQL
REST: Fixed endpoints, fixed data structures. Many calls may be needed.
GraphQL: One endpoint, flexible queries. The client defines exactly what data it needs.
Most APIs still use REST — simpler, more familiar. GraphQL is preferred for complex relational data.
REST at Onremo
Onremo's API follows REST architecture. Standard endpoints like https://api.onremo.app/v1/systems.