API Guidelines
  • adidas API Guidelines
  • General Guidelines
    • Introduction
    • API First
    • Contract
    • Immutability
    • Robustness
    • Common Data Types
    • Version Control System
    • Minimal API Surface
    • Rules for Extending
    • JSON
    • Security
    • Tooling
  • REST API Guidelines
    • Introduction
    • Core REST Principles
      • OpenAPI Specification
      • API Design Platform
      • Design Maturity
      • Testing
    • Protocol
      • HTTP
      • TLS
      • Separate Concerns
      • Request Methods
      • Status Codes
    • Message
      • Message Formats
      • Content Negotiation
      • HAL
      • Problem Detail
      • Foreign Key Relations
    • Application
      • Corporate Data Model
      • Common Data Types
    • Execution
      • Pagination
      • Long Running Tasks
        • Polling
        • Callback
        • Files Upload
      • Batch Operations
      • Search Requests
      • Query Requests with Large Inputs
      • Choosing Fields and Embedded Resources
      • Localization
      • Rate Limiting
      • Caching
      • Testing Enviroments
    • Evolution
      • Naming Conventions
      • Reserved Identifiers
      • URI Structure
      • Changes and Versioning
      • Phasing out Old Versions
    • Guides
      • API Testing CI Environment
      • Complete API Development
    • API Clients
      • Loose Coupling
    • Further References
  • Asynchronous API Guidelines
    • Introduction
    • Core Asynchronous Principles
      • Event Driven Architectures
      • Messages
        • Commands
        • Queries
        • Events
          • Events as Notifications
          • Events to Replicate Data
      • Protocols
      • Coupling
      • Bounded Context
      • Stream Processing
      • Naming Conventions
      • Tooling
        • Editors
        • Command Line Interface (CLI)
        • Generators
    • Kafka Asynchronous Guidelines
      • Introduction
        • Why AsyncAPI?
      • AsyncAPI Version
      • Internal vs Public Specifications
      • Key/Value Format
      • Message Headers
      • Specification Granularity
      • Self-Contained Specifications
        • Meaningful Descriptions
      • Schema Data Evolution
        • Backward Compatibility
        • Forward Compatibility
        • Full Compatibility
      • Automatic Schema Registration
      • Contact Information
      • AsyncAPI ID
      • Servers
      • Channels
      • Schemas
      • Security Schemes
      • External Docs
Powered by GitBook
On this page
  • Motivation
  • Guidelines
  • How to read the Guidelines
  • Validating your API specification against OpenAPI & Async rules
  • Contact Us
  • Intended Use Cases
  • Last Review
  • License and Software Information

adidas API Guidelines

NextIntroduction

Last updated 2 months ago

Motivation

The goal of this document is to facilitate the work and minimize the effort of all API users at adidas while protecting their investment and encouraging API First adoption.

These guidelines lay down the foundation for collaboration, stability, and extensibility.

Guidelines

The API Guidelines are split into two main parts:

  • API type-specific Guidelines

The general guidelines section discusses the core principles relevant to any kind of API.

The API type-specific section further defines the guidelines specific to a given architectural style or API technique (such as REST, Kafka or GraphQL APIs).

How to read the Guidelines

The CAPITALIZED words throughout these guidelines have a special meaning:

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED",  "MAY", and "OPTIONAL" in 
this document are to be interpreted as described in RFC2119.

Validating your API specification against OpenAPI & Async rules

In the ruleset.md file you can find a digest of API Guidelines rules which you can use to validate your API description documents.

To install Spectral, you will need Node.js and a package manager (npm or yarn).

npm install -g @stoplight/spectral-cli

# OR

yarn global add @stoplight/spectral-cli

Once installed, to verify your oas or async file with spectral execute:

spectral lint <api-specification-file> --ruleset adidas-spectral.yaml

Contact Us

In case you have any questions or comments, please utilize the appropriate GitHub collaboration tools, such as issues, pull requests, and discussions.

If you want to contact adidas API Team regarding these guidelines, you can mail us at

api-team@adidas.com

Intended Use Cases

This project is intended to provide the guidelines for design & development of APIs at adidas.

Adidas is not responsible for the usage of this software for different purposes that the ones described in the use cases.

Last Review

February 2025

License and Software Information

© adidas AG

adidas AG publishes this software and accompanied documentation (if any) subject to the terms of the MIT license with the aim of helping the community with our tools and libraries which we think can be also useful for other people. You will find a copy of the MIT license in the root folder of this package. All rights not explicitly granted to you under the MIT license remain the sole and exclusive property of adidas AG.

NOTICE: The software has been designed solely for the purpose of providing API design and development guidelines. The software is NOT designed, tested or verified for productive use whatsoever, nor or for any use related to high-risk environments, such as health care, highly or fully autonomous driving, power plants, or other critical infrastructures or services.

These guidelines are available for online reading at . The source code can be found on .

Refer to for details.

If you are using OpenAPI or AsyncAPI specification as API description format, you can also leverage the adidas-spectral.yaml ruleset to automatically lint your specification compliance using .

For further information open the page.

General Guidelines
REST APIs Guidelines
Asynchronous APIs Guidelines
GitBook
GitHub
RFC2119
Spectral
adidas terms and conditions
Read online at GitBook