-
Notifications
You must be signed in to change notification settings - Fork 60k
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update the OpenAPI decription article (#45779)
Co-authored-by: Kevin Heis <[email protected]>
- Loading branch information
1 parent
1ea1a15
commit be89d27
Showing
3 changed files
with
41 additions
and
31 deletions.
There are no files selected for viewing
39 changes: 39 additions & 0 deletions
39
content/rest/overview/about-the-openapi-description-for-the-rest-api.md
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
--- | ||
title: About the OpenAPI description for the REST API | ||
shortTitle: OpenAPI description | ||
intro: 'The {% data variables.product.product_name %} REST API is fully described in an OpenAPI compliant document.' | ||
versions: | ||
fpt: '*' | ||
ghes: '*' | ||
ghec: '*' | ||
topics: | ||
- API | ||
redirect_from: | ||
- /rest/overview/openapi-description | ||
--- | ||
|
||
## About OpenAPI | ||
|
||
OpenAPI is a specification for describing REST API interfaces. It describes the API without requiring access to the source code or additional documentation. The specification is both human and machine readable. For more information, see [the OpenAPI specification documentation](https://spec.openapis.org/oas/v3.1.0). | ||
|
||
## About {% data variables.product.company_short %}'s OpenAPI description | ||
|
||
{% data variables.product.company_short %}'s OpenAPI description of the REST API is publicly available. You can find the description in the open source [github/rest-api-description](https://github.com/github/rest-api-description) repository. | ||
|
||
{% data variables.product.company_short %} provides both 3.0 and 3.1 OpenAPI descriptions. | ||
|
||
For each description, there is a version for each product: {% data variables.product.prodname_free_user %}/{% data variables.product.prodname_pro %}/{% data variables.product.prodname_team %} (`api.github.com`), {% data variables.product.prodname_ghe_cloud %} (`ghec`), {% data variables.product.prodname_ghe_managed %} (`github.ae`), and each version of {% data variables.product.prodname_ghe_server %} (`ghes-X.X`). | ||
|
||
For each product, if date-based versioning is supported, there is also a description for each date-based version. For more information, see {% ifversion api-date-versioning%}"[AUTOTITLE](/rest/overview/api-versions)."{% else %}"[AUTOTITLE](/free-pro-team@latest/rest/overview/api-versions)" in the {% data variables.product.prodname_free_user %} documentation.{% endif %} | ||
|
||
Each description is available in a bundled or in a dereferenced format. The bundled format uses `$ref` to refer to OpenAPI components that are shared between endpoints. The dereferenced format includes the fully expanded description. | ||
|
||
## Using the {% data variables.product.company_short %} OpenAPI description | ||
|
||
Because the OpenAPI description is machine readable, you can use it to do things like: | ||
|
||
- Generate libraries to facilitate using the REST API | ||
- Validate and test an integration that uses the REST API | ||
- Explore and interact with the REST API using third-party tools, such as Insomnia or Postman | ||
|
||
For example, {% data variables.product.company_short %} uses the OpenAPI description to generate the Octokit SDKs. {% data variables.product.company_short %} also uses the OpenAPI description to generate the REST API reference documentation for each endpoint. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.