Resource naming, HTTP verbs, pagination, versioning, and request/response shape.
Use this concept when designing systems that require the capabilities described above. Consider the trade-offs carefully against simpler alternatives before committing to the added complexity.