TL;DR: REST is an architectural style defined by constraints on interactions between components. Use its six constraints to review client independence, request context, caching, uniform interfaces, layers, and optional downloaded code; a JSON response alone proves none of them.
An endpoint that returns an order as JSON can still force every client to understand the server's private workflow. REST API architecture constraints are the rules that determine whether those interactions follow Representational State Transfer, rather than merely use HTTP. They concern what participants must know about one another, how they exchange representations, and how independently they can change.
Consider a collector reading a product catalog. It needs to retrieve records, discover another page, recognize an unchanged result, and resume after a worker fails. Those requirements expose architectural choices immediately. Does the next request contain its own context? Can the server advertise the next page? Is a saved response reusable? Must the replacement worker recover an invisible conversation before continuing?
This guide uses those questions as a design review. The examples describe a hypothetical catalog service, not a provider's executable API. They show how to inspect behavior without reducing REST to plural endpoint names or a list of HTTP verbs. You can apply the same review to an API you publish, an integration you maintain, or a data collection pipeline that consumes someone else's service.




