Also known as: RESTful · GraphQL · gRPC
REST (Representational State Transfer) is an architectural style for networked applications in which resources are identified by URLs and manipulated through standard HTTP methods, with each request carrying all context needed to process it.
Statelessness is REST's defining constraint and the source of its scalability: any server can handle any request, so horizontal scaling requires no session affinity.
GraphQL and gRPC address different limitations — over-fetching and strongly-typed high-performance service-to-service calls respectively. Most real systems mix approaches by context rather than adopting one universally, and 'RESTful' in practice describes a spectrum of adherence.
API
An API (application programming interface) is a defined contract through which one piece of software provides functionality or data to another, specifying available operations, expected inputs, and returned outputs.
Idempotency
An operation is idempotent if performing it multiple times produces the same result as performing it once, which allows a client to safely retry a request without risking duplicate side effects.
Webhook
A webhook is an HTTP request sent automatically from one system to another when an event occurs, allowing the receiver to react immediately rather than repeatedly polling for changes.
Rate Limiting
Rate limiting restricts how many requests a client may make within a time window, protecting a service from overload, abuse, and runaway costs while ensuring capacity remains available to other users.