protocol

REST

also called RESTful API

An architectural style for APIs built on resources identified by URLs, manipulated with uniform HTTP methods, and stateless requests.

apihttpcontracts

The parts that carry practical weight: resources not actions (/orders/123, not /getOrder?id=123), uniform methods with their standard semantics — GET safe and cacheable, PUT and DELETE idempotent, POST neither — and statelessness, meaning any instance can serve any request, which is what makes horizontal scaling trivial.

Getting the status codes right is not pedantry, it is the contract: 400 means the client must change something, 500 means it may retry, 409 means a conflict it must resolve, 429 means slow down. Clients build retry logic on these.

Most real APIs are "REST-ish" and that is fine. The strict interpretation including hypermedia (HATEOAS) is rarely implemented and rarely missed. What is genuinely worth keeping is predictability: a consumer who knows the resource can guess the URL and the method.