REST API versioning
Azure DevOps Services | Azure DevOps Server 2022 - Azure DevOps Server 2019
Using versioned REST APIs, you can ensure your projects are scalable and maintainable over time while applications and services continue to work as APIs evolve.
Guidelines
- API version must be specified with every request.
- API versions are in the format {major}.{minor}[-{stage}[.{resource-version}]] - For example,
1.0
,1.1
,1.2-preview
,2.0
. - While an API is in preview, you can specify a precise version of a particular revision of the API when needed (for example,
1.0-preview.1
,1.0-preview.2
). - Once an API is released (1.0, for example), its preview version (1.0-preview) is deprecated and can be deactivated after 12 weeks.
- During this time, you should upgrade to the released version of the API. Once a preview API is deactivated, requests that specify a
-preview
version get rejected.
Usage
The API version can be specified either in the header of the HTTP request or as a URL query parameter:
HTTP request header:
Accept: application/json;api-version=1.0
Uri:
[scheme"://"][host[':'port]]"/v" major-version '/'namespace '/'resource ('/'resource)* '?' query
i.e. GET https://dev.azure.com/v1.0/{organization}/_apis/{area}/{resource}?some-query=1000
Supported versions
Product | 1.0 | 2.0 | 3.0 | 4.0 | 5.0 | 6.0 | 7.0 |
---|---|---|---|---|---|---|---|
Azure DevOps Services | X | X | X | X | X | X | X |
Azure DevOps Server 2022 | X | X | X | X | X | X | X |
Azure DevOps Server 2020 | X | X | X | X | X | X | - |
Azure DevOps Server 2019 | X | X | X | X | X | - | |
Team Foundation Server 2018 | X | X | X | X | - | - | |
Team Foundation Server 2017 | X | X | X | - | - | - | |
Team Foundation Server 2015 | X | X | - | - | - | - |
Major API version releases align with Team Foundation Server RTM releases. For example, the 3.0
API set was introduced with Team Foundation Server 2017.
A few undocumented version 1.0 APIs existed in Team Foundation Server 2013, but aren't supported.