Skip to main content

À propos de la description OpenAPI pour l'API REST

L'API REST GitHub est entièrement décrite dans un document conforme à OpenAPI.

À propos d'OpenAPI

OpenAPI est une spécification pour décrire les interface API REST. Il décrit l'API sans avoir besoin d'accéder au code source ou à une documentation supplémentaire. La spécification est à la fois humaine et lisible par l'ordinateur. Pour plus d'informations, consultez la documentation OpenAPI spécifique.

A propos de la description OpenAPI GitHub

La description d'OpenAPI GitHub de l'API REST est disponible publiquement. Vous trouverez la description dans le référentiel open source github/rest-api-description.

GitHub fournit les descriptions OpenAPI 3.0 et 3.1.

Pour chaque description, il existe une version pour chaque produit : GitHub Free/GitHub Pro/GitHub Team (api.github.com), GitHub Enterprise Cloud (ghec), et chaque version de GitHub Enterprise Server (ghes-X.X).

Pour chaque produit, si le contrôle de version basé sur des dates est pris en charge, il existe également une description pour chaque version basée sur des dates. Pour plus d’informations, consultez « Versions des API ».

Chaque description est disponible dans un format groupé ou dans un format déréférencé. Le format groupé utilise $ref pour faire référence aux composants OpenAPI partagés entre les points de terminaison. Le format déréférencement inclut la description entièrement développée.

Utilisation de la description OpenAPI GitHub

Étant donné que la description OpenAPI est lisible par l'ordinateur, vous pouvez l'utiliser pour effectuer des opérations telles que :

  • Générer des bibliothèques pour faciliter l'utilisation de l'API REST
  • Valider et tester une intégration qui utilise l'API REST
  • Explorer et interagir avec l'API REST à l'aide d'outils tiers, comme Insomnia ou Postman

Par exemple, GitHub utilise la description OpenAPI pour générer les Kits de développement logiciel (SDK) Octokit. GitHub utilise également la description OpenAPI pour générer la documentation de référence de l'API REST pour chaque point de terminaison.