HTTP, Resource, and URIClient-Server CommunicationOrigins of RESTAPI Maturity ModelsRESTful, RESTless, or RESTIs Being RESTless Good Enough?ImplementationAPI EndpointsAPI VersioningCRUDPaginationRate LimitingCachingSecurityJSON Web TokenTransport Layer SecurityDocumentationOpenAPI SpecificationThree Approaches to API SpecificationTrade-OffsWhen to Use RESTExercisesSummary