Learn how to specify which REST API version to use whenever you make a request to the REST API.
The GitHub REST API is versioned. The API version name is based on the date when the API version was released. For example, the API version 2026-03-10 was released on Tue, 10 Mar 2026.
Breaking changes are changes that can potentially break an integration. Breaking changes will be released in a new API version. We will provide advance notice before releasing breaking changes. Breaking changes include:
Any additive (non-breaking) changes will be available in all supported API versions. Additive changes are changes that should not break an integration. Additive changes include:
When a new REST API version is released, the previous API version will be supported for at least 24 more months following the release of the new API version.
You should use the X-GitHub-Api-Version header to specify an API version. For example:
curl --header "X-GitHub-Api-Version:2026-03-10" https://api.github.com/zen
Requests without the X-GitHub-Api-Version header will default to use the 2022-11-28 version.
If you specify an API version that is no longer supported, you will receive a 410 Gone response.
Before upgrading to a new REST API version, you should read the changelog of breaking changes for the new API version to understand what breaking changes are included and to learn more about how to upgrade to that specific API version. For more information, see Breaking changes.
When you update your integration to specify the new API version in the X-GitHub-Api-Version header, you'll also need to make any changes required for your integration to work with the new API version.
Once your integration is updated, test your integration to verify that it works with the new API version.
API versions are supported for 24 months after a newer API version is released.
While a version is within its support window but approaching closing down, GitHub includes the following headers in API responses to help you prepare for migration:
Deprecation — The date when the API version will be closing down, formatted as an HTTP date per RFC 7231. For example: Wed, 27 Nov 2019 14:34:29 GMT. Sunset — The date when the API version will be completely removed (retired), after which requests will return a 410 Gone response. Follows RFC 8594. For example: Fri, 27 Nov 2020 14:34:29 GMT. After the support window ends:
410 Gone response.For more information on migrating to a newer API version, see Breaking changes.
In rare cases, GitHub may make changes outside the normal API versioning cadence. These are exceptional interventions that do not alter the standard versioning guarantees for most integrators.
Critical security vulnerabilities, data exposure risks, or severe reliability issues may require changes outside the normal release schedule. GitHub may release an unscheduled API version, backport fixes to supported versions, or in rare cases, introduce a breaking change to an existing version to protect users and platform integrity.
GitHub will communicate such changes through release notes, changelogs, and direct communication explaining what changed and why. Where feasible, advance notice will be provided. Immediate action may be taken without advance notice when required.
For certain services with very low usage, GitHub may deprecate functionality outside the standard versioning process. In these cases, GitHub will communicate the intent and reach out to affected integrators directly.
The following REST API versions are currently supported.
| API version | End of support date |
|---|---|
2026-03-10 |
Not yet scheduled |
2022-11-28 |
March 10, 2028 |
You can also make an API request to get all of the supported API versions. For more information, see REST API endpoints for meta data.