> For the complete documentation index, see [llms.txt](https://adidas.gitbook.io/api-guidelines/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines.md).

# REST API Guidelines

- [Introduction](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/rest.md)
- [Core REST Principles](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/core-principles.md)
- [OpenAPI Specification](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/core-principles/openapi-specification.md)
- [API Design Platform](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/core-principles/design-platform.md)
- [Design Maturity](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/core-principles/design-maturity.md)
- [Testing](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/core-principles/testing.md)
- [Protocol](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/protocol.md)
- [HTTP](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/protocol/http.md)
- [TLS](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/protocol/tls.md)
- [Separate Concerns](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/protocol/separate-concerns.md)
- [Request Methods](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/protocol/use-appropriate-methods.md)
- [Status Codes](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/protocol/use-appropriate-status-codes.md)
- [Message](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/message.md)
- [Message Formats](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/message/message-formats.md)
- [Content Negotiation](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/message/content-negotiation.md)
- [HAL](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/message/hal.md)
- [Problem Detail](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/message/error-reporting.md)
- [Foreign Key Relations](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/message/foreign-key-relations.md)
- [Application](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/application.md)
- [Corporate Data Model](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/application/harmonize-data.md)
- [Common Data Types](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/application/common-data-types.md)
- [Execution](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution.md)
- [Pagination](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution/pagination.md)
- [Long Running Tasks](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution/long-running-tasks.md)
- [Polling](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution/long-running-tasks/polling.md)
- [Callback](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution/long-running-tasks/callback.md)
- [Files Upload](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution/long-running-tasks/files-upload.md)
- [Batch Operations](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution/batch-operations.md)
- [Search Requests](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution/search-requests.md)
- [Query Requests with Large Inputs](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution/query-requests-with-large-inputs.md)
- [Choosing Fields and Embedded Resources](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution/choosing-fields-and-embedded-resoruces.md)
- [Localization](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution/localization.md)
- [Rate Limiting](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution/rate-limiting.md)
- [Caching](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution/caching.md)
- [Testing Enviroments](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/execution/testing-enviroments.md)
- [Evolution](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/evolution.md)
- [Naming Conventions](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/evolution/naming-conventions.md)
- [Reserved Identifiers](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/evolution/reserved-identifiers.md)
- [URI Structure](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/evolution/uri-structure.md)
- [Changes and Versioning](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/evolution/versioning.md)
- [Phasing out Old Versions](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/evolution/phasing-out-old-versions.md)
- [Guides](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/guides.md)
- [API Testing CI Environment](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/guides/api-testing-ci-environment.md)
- [Complete API Development](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/guides/complete-api-development.md)
- [API Clients](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/clients.md)
- [Loose Coupling](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/clients/loose-coupling.md)
- [Further References](https://adidas.gitbook.io/api-guidelines/rest-api-guidelines/miscellaneous.md)
