What is REST API?

REST (Representational State Transfer) is an architectural style for distributed hypermedia systems, described by Roy Fielding in his 2000 doctoral dissertation. A REST API exposes resources (nouns) at stable URLs and uses standard HTTP methods (verbs) to operate on them — GET to read, POST to create, PUT/PATCH to update, DELETE to remove — with stateless requests and uniform interfaces.

The six REST constraints are: client-server separation, statelessness (each request contains all the information needed; no session stored server-side), cacheability (responses declare whether they can be cached), layered system (clients cannot tell whether they are talking directly to the server or a proxy), uniform interface (identified resources, manipulation through representations, self-descriptive messages, HATEOAS), and optional code-on-demand (servers can send executable code to clients).

In practice, most "REST APIs" are informally RESTful — they use HTTP methods and JSON representations but omit HATEOAS (hypermedia links). JSON:API, HAL, and Siren are specifications for fully hypermedia-driven REST APIs.

REST became the dominant API style by 2010, replacing SOAP's verbose XML envelopes. Its advantages are simplicity (HTTP tooling everywhere), cacheability, and wide support. Disadvantages include over-fetching (receiving more data than needed) and under-fetching (needing multiple round-trips for related data) — problems that GraphQL addresses with a query language.

OpenAPI (formerly Swagger) is the standard way to describe a REST API's endpoints, request/response schemas, and authentication. A well-authored OpenAPI document enables auto-generated client SDKs, interactive documentation, and AI agent discovery.

quickhelp.dev exposes all tools as REST API endpoints at /api/[tool], described collectively at /openapi.json. No API key is required for personal use.

See also

We use cookies to serve ads and measure traffic. Cookie policy · Privacy policy