Skip to main content

Glossary

REST

Meaning and details

REST is the lingua franca of web APIs. Resources live at URLs, /users/42, /orders/991, and you act on them with standard HTTP verbs: GET reads, POST creates, PUT updates, DELETE removes. Status codes carry meaning, 200 O...

REST meaning

An architectural style for APIs built on resources addressed by URLs, manipulated with standard HTTP methods and status codes.

What is REST?

REST is the lingua franca of web APIs. Resources live at URLs, /users/42, /orders/991, and you act on them with standard HTTP verbs: GET reads, POST creates, PUT updates, DELETE removes. Status codes carry meaning, 200 OK, 201 Created, 404 Not Found, 422 Unprocessable Entity, and responses are usually JSON. The style's constraint is statelessness: every request carries everything needed to process it, which is what lets REST services scale horizontally.

Why it matters to an indie builder: REST is the integration language your customers, your tools and your own frontend all speak. Stripe, GitHub and effectively the entire SaaS world expose REST first, and frameworks like Laravel, Django and FastAPI generate it almost for free. Picking REST as the default, and deviating deliberately (GraphQL for complex client queries, webhooks for push), is the API strategy of most successful small products.

A concrete example: adding a feature-flag endpoint. POST /features with a name returns 201 with the created resource. GET /features lists them. PUT /features/881 flips the enabled state. A client that reads those status codes correctly can distinguish validation failure, missing resource and success without parsing error prose, and any HTTP library in any language already knows how to talk to it.

Common mistakes: verbs in URLs, /getUser, instead of resources acted on by methods, ignoring status codes and returning 200 with an error body (client libraries then cache and retry wrong), non-idempotent PUTs that create duplicates on retry, and versioning by hope: pick /v1/ from day one, because renaming endpoints later breaks every integration at once. The api trait blocks on IndieBoot mark the products that play well with these habits. The rest habits above keep an API welcome in integrations for years.

Keep exploring the glossary