{"id":13733085,"url":"https://github.com/adidas/api-guidelines","last_synced_at":"2025-04-05T08:07:27.582Z","repository":{"id":37088879,"uuid":"79345219","full_name":"adidas/api-guidelines","owner":"adidas","description":"adidas group API design guidelines","archived":false,"fork":false,"pushed_at":"2024-06-19T10:06:09.000Z","size":1438,"stargazers_count":281,"open_issues_count":6,"forks_count":92,"subscribers_count":26,"default_branch":"master","last_synced_at":"2024-08-29T00:03:18.597Z","etag":null,"topics":["adidas","adidas-group","api","architecture","asynchronous","guidelines","http","kafka","openapi","protocol","rest","rest-api"],"latest_commit_sha":null,"homepage":"https://adidas.gitbook.io/api-guidelines/","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/adidas.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":".github/CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2017-01-18T14:00:34.000Z","updated_at":"2024-08-28T20:46:35.000Z","dependencies_parsed_at":"2023-02-16T20:46:01.814Z","dependency_job_id":"cc22afdb-907a-4fea-a8e1-190f8011cc7d","html_url":"https://github.com/adidas/api-guidelines","commit_stats":null,"previous_names":["adidas-group/api-guidelines"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adidas%2Fapi-guidelines","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adidas%2Fapi-guidelines/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adidas%2Fapi-guidelines/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/adidas%2Fapi-guidelines/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/adidas","download_url":"https://codeload.github.com/adidas/api-guidelines/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247305932,"owners_count":20917208,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["adidas","adidas-group","api","architecture","asynchronous","guidelines","http","kafka","openapi","protocol","rest","rest-api"],"created_at":"2024-08-03T03:00:37.494Z","updated_at":"2025-04-05T08:07:27.560Z","avatar_url":"https://github.com/adidas.png","language":null,"funding_links":[],"categories":["Restful API Guidelines"],"sub_categories":[],"readme":"# adidas API Guidelines\n\n\n\n\u003cfigure\u003e\u003cpicture\u003e\u003csource srcset=\".gitbook/assets/adidas_company_logo_BWr.png\" media=\"(prefers-color-scheme: dark)\"\u003e\u003cimg src=\".gitbook/assets/adidas_company_logo_BWp.png\" alt=\"\"\u003e\u003c/picture\u003e\u003cfigcaption\u003e\u003c/figcaption\u003e\u003c/figure\u003e\n\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)\n\n[Read online at GitBook](https://adidas.gitbook.io/api-guidelines/)\n\n### Motivation\n\nThe 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.\n\nThese guidelines lay down the foundation for collaboration, stability, and extensibility.\n\n### Guidelines\n\nThe API Guidelines are split into two main parts:\n\n* [General Guidelines](general-guidelines/general-guidelines.md)\n* API type-specific Guidelines\n  * [REST APIs Guidelines](rest-api-guidelines/rest.md)\n  * [Asynchronous APIs Guidelines](https://github.com/cesareomacias/api-guidelines/blob/master/asynchronous-api-guidelines/index.md)\n\nThe general guidelines section discusses the core principles relevant to any kind of API.\u0026#x20;\n\nThe API type-specific section further defines the guidelines specific to a given architectural style or API technique (such as REST, Kafka or GraphQL APIs).\n\n### How to read the Guidelines\n\nThese guidelines are available for online reading at [GitBook](https://adidas.gitbook.io/api-guidelines/). The source code can be found on [GitHub](https://github.com/adidas/api-guidelines).\n\nThe CAPITALIZED words throughout these guidelines have a special meaning:\n\n\u003e ```\n\u003e The key words \"MUST\", \"MUST NOT\", \"REQUIRED\", \"SHALL\", \"SHALL NOT\",\n\u003e \"SHOULD\", \"SHOULD NOT\", \"RECOMMENDED\",  \"MAY\", and \"OPTIONAL\" in \n\u003e this document are to be interpreted as described in RFC2119.\n\u003e ```\n\nRefer to [RFC2119](https://www.rfc-editor.org/rfc/rfc2119) for details.\n\n### Validating your API specification against OpenAPI \u0026 Async rules\n\nIn the `ruleset.md` file you can find a digest of API Guidelines rules which you can use to validate your API description documents.\n\nIf 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 [Spectral](https://meta.stoplight.io/docs/spectral/674b27b261c3c-overview).\n\n\u003e To install Spectral, you will need Node.js and a package manager (npm or yarn).\n\n```bash\nnpm install -g @stoplight/spectral-cli\n\n# OR\n\nyarn global add @stoplight/spectral-cli\n```\n\nOnce installed, to verify your _oas_ or _async_ file with spectral execute:\n\n```bash\nspectral lint \u003capi-specification-file\u003e --ruleset adidas-spectral.yaml\n```\n\n### Contact Us\n\nIn case you have any questions or comments, please utilize the appropriate GitHub collaboration tools, such as issues, pull requests, and discussions.\n\nIf you want to contact adidas API Team regarding these guidelines, you can mail us at\n\n\u0026#x20;_**api-team@adidas.com**_\n\n## Intended Use Cases\n\nThis project is intended to provide the guidelines for design \u0026 development of APIs at adidas.\n\nAdidas is not responsible for the usage of this software for different purposes that the ones described in the use cases.\n\n## Last Review\n\nFebruary 2025\n\n## License and Software Information\n\n© adidas AG\n\nadidas 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.\n\nNOTICE: 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.\n\nFor further information open the [adidas terms and conditions](https://github.com/adidas/adidas-contribution-guidelines/wiki/Terms-and-conditions) page.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadidas%2Fapi-guidelines","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadidas%2Fapi-guidelines","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadidas%2Fapi-guidelines/lists"}