Operations
GET /{organization}/_apis/wit/artifactlinktypes
Get the list of work item tracking outbound artifact link types.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Artifact Link Types"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "artifactLinkTypes",
"x-ms-vss-method": "GetWorkArtifactLinkTypes",
"x-ms-preview": true,
"description": "Get the list of work item tracking outbound artifact link types.",
"operationId": "Artifact Link Types_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkArtifactLink"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/_apis/wit/workitemicons
Get a list of all work item icons.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Item Icons"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "workItemIcons",
"x-ms-vss-method": "GetWorkItemIcons",
"x-ms-preview": true,
"description": "Get a list of all work item icons.",
"operationId": "Work Item Icons_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItemIcon"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/_apis/wit/workitemicons/{icon}
Get a work item icon given the friendly name and icon color.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Item Icons"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "workItemIcons",
"x-ms-vss-method": "GetWorkItemIcon",
"x-ms-preview": true,
"description": "Get a work item icon given the friendly name and icon color.",
"operationId": "Work Item Icons_Get",
"parameters": [
{
"in": "path",
"name": "icon",
"description": "The name of the icon",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "color",
"description": "The 6-digit hex color for the icon",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "v",
"description": "The version of the icon (used only for cache invalidation)",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"image/svg+xml": {
"schema": {
"$ref": "#/components/schemas/WorkItemIcon"
}
},
"image/xaml+xml": {
"schema": {
"$ref": "#/components/schemas/WorkItemIcon"
}
},
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemIcon"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/_apis/wit/workitemrelationtypes
Gets the work item relation types.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Item Relation Types"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "workItemRelationTypes",
"x-ms-vss-method": "GetRelationTypes",
"x-ms-preview": true,
"description": "Gets the work item relation types.",
"operationId": "Work Item Relation Types_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItemRelationType"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/_apis/wit/workitemrelationtypes/{relation}
Gets the work item relation type definition.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Item Relation Types"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "workItemRelationTypes",
"x-ms-vss-method": "GetRelationType",
"x-ms-preview": true,
"description": "Gets the work item relation type definition.",
"operationId": "Work Item Relation Types_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "relation",
"description": "The relation name",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemRelationType"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/_apis/wit/workitemtransitions
Returns the next state on the given work item IDs.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Item Transitions"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "workItemTransitions",
"x-ms-vss-method": "GetWorkItemNextStatesOnCheckinAction",
"x-ms-preview": true,
"description": "Returns the next state on the given work item IDs.",
"operationId": "Work Item Transitions_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "ids",
"description": "list of work item ids",
"required": true,
"schema": {
"type": "string",
"description": "Vendor format: array (int32)"
}
},
{
"in": "query",
"name": "action",
"description": "possible actions. Currently only supports checkin",
"required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItemNextStateOnTransition"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/_apis/work/accountmyworkrecentactivity
Gets recent work item activities
**PurpleSuite executable core.** Derived from the authenticated user's activity inside this instance. The vendor aggregates across every organization the user belongs to, which has no local equivalent. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Account My Work Recent Activity"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "accountMyWorkRecentActivity",
"x-ms-vss-method": "GetRecentActivityData",
"x-ms-preview": true,
"description": "Gets recent work item activities\n\n**PurpleSuite executable core.** Derived from the authenticated user's activity inside this instance. The vendor aggregates across every organization the user belongs to, which has no local equivalent. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.",
"operationId": "Account My Work Recent Activity_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/AccountRecentActivityWorkItemModel2"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled-core"
}
GET /{organization}/{project}/_apis/githubconnections
Gets a list of github connections
**Not available in PurpleSuite.** GitHub connections are read from GitHub through an organization's GitHub App installation, which is external to PurpleSuite. The request is still validated and the vendor's error envelope is returned; no state changes and no success is fabricated.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Github Connections"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "githubConnections",
"x-ms-vss-method": "GetGithubConnections",
"x-ms-preview": true,
"description": "Gets a list of github connections\n\n**Not available in PurpleSuite.** GitHub connections are read from GitHub through an organization's GitHub App installation, which is external to PurpleSuite. The request is still validated and the vendor's error envelope is returned; no state changes and no success is fabricated.",
"operationId": "Github Connections_Get Github Connections",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitHubConnectionModel"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "unavailable"
}
GET /{organization}/{project}/_apis/githubconnections/{connectionId}/repos
Gets a list of repos within specified github connection.
**Not available in PurpleSuite.** Repositories behind a GitHub connection are read from GitHub, which is external to PurpleSuite. The request is still validated and the vendor's error envelope is returned; no state changes and no success is fabricated.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Github Connections"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "githubConnections",
"x-ms-vss-method": "GetGithubConnectionRepositories",
"x-ms-preview": true,
"description": "Gets a list of repos within specified github connection.\n\n**Not available in PurpleSuite.** Repositories behind a GitHub connection are read from GitHub, which is external to PurpleSuite. The request is still validated and the vendor's error envelope is returned; no state changes and no success is fabricated.",
"operationId": "Github Connections_Get Github Connection Repositories",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "connectionId",
"description": "",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitHubConnectionRepoModel"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "unavailable"
}
POST /{organization}/{project}/_apis/githubconnections/{connectionId}/reposBatch
Add/remove list of repos within specified github connection.
**Not available in PurpleSuite.** Changing the repository set of a GitHub connection mutates state held by GitHub, which is external to PurpleSuite. The request is still validated and the vendor's error envelope is returned; no state changes and no success is fabricated.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Github Connections"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "githubConnections",
"x-ms-vss-method": "UpdateGithubConnectionRepos",
"x-ms-preview": true,
"description": "Add/remove list of repos within specified github connection.\n\n**Not available in PurpleSuite.** Changing the repository set of a GitHub connection mutates state held by GitHub, which is external to PurpleSuite. The request is still validated and the vendor's error envelope is returned; no state changes and no success is fabricated.",
"operationId": "Github Connections_Update",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "connectionId",
"description": "",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/GitHubConnectionRepoModel"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "unavailable",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/GitHubConnectionReposBatchRequest"
}
}
}
}
}
POST /{organization}/{project}/_apis/wit/artifacturiquery
Queries work items linked to a given list of artifact URI.
**PurpleSuite executable core.** Resolves vstfs:///Git/Commit and vstfs:///Build/Build artifact URIs; other artifact kinds have no local source and are rejected. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Artifact Uri Query"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "artifactUriQuery",
"x-ms-vss-method": "QueryWorkItemsForArtifactUris",
"x-ms-preview": true,
"description": "Queries work items linked to a given list of artifact URI.\n\n**PurpleSuite executable core.** Resolves vstfs:///Git/Commit and vstfs:///Build/Build artifact URIs; other artifact kinds have no local source and are rejected. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.",
"operationId": "Artifact Uri Query_Query",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ArtifactUriQueryResult"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled-core",
"requestBody": {
"required": true,
"description": "The artifact URIs to resolve to work items.",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"artifactUris"
],
"additionalProperties": false,
"properties": {
"artifactUris": {
"type": "array",
"minItems": 1,
"items": {
"type": "string",
"pattern": "^vstfs:///(Git/Commit|Build/Build)/.+$"
}
}
}
}
}
}
}
}
POST /{organization}/{project}/_apis/wit/attachments
Uploads an attachment.
On accounts with higher attachment upload limits (>130MB), you will need to use chunked upload.
To upload an attachment in multiple chunks, you first need to [**Start a Chunked Upload**](#start_a_chunked_upload) and then follow the example from the **Upload Chunk** section.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Attachments"
],
"x-ms-docs-override-version": "7.2-preview.4",
"x-ms-vss-resource": "attachments",
"x-ms-vss-method": "CreateAttachment",
"x-ms-preview": true,
"description": "Uploads an attachment.\n\nOn accounts with higher attachment upload limits (>130MB), you will need to use chunked upload.\nTo upload an attachment in multiple chunks, you first need to [**Start a Chunked Upload**](#start_a_chunked_upload) and then follow the example from the **Upload Chunk** section.",
"operationId": "Attachments_Create",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "fileName",
"description": "The name of the file",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "uploadType",
"description": "Attachment upload type: Simple or Chunked",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "areaPath",
"description": "Target project Area Path",
"required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.4"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AttachmentReference"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"description": "Stream to upload",
"required": true,
"content": {
"application/octet-stream": {
"schema": {
"type": "string",
"format": "Stream"
}
}
}
}
}
DELETE /{organization}/{project}/_apis/wit/attachments/{id}
Permanently delete an attachment.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Attachments"
],
"x-ms-docs-override-version": "7.2-preview.4",
"x-ms-vss-resource": "attachments",
"x-ms-vss-method": "DeleteAttachment",
"x-ms-preview": true,
"description": "Permanently delete an attachment.",
"operationId": "Attachments_Delete",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "Attachment ID",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.4"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/DestroyedAttachment"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/attachments/{id}
Downloads an attachment.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Attachments"
],
"x-ms-docs-override-version": "7.2-preview.4",
"x-ms-vss-resource": "attachments",
"x-ms-vss-method": "GetAttachment",
"x-ms-preview": true,
"description": "Downloads an attachment.",
"operationId": "Attachments_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "Attachment ID",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "fileName",
"description": "Name of the file",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "download",
"description": "If set to <c>true</c> always download attachment",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.4"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/octet-stream": {
"schema": {
"type": "string",
"format": "Stream"
}
},
"application/zip": {
"schema": {
"type": "string",
"format": "Stream"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
PUT /{organization}/{project}/_apis/wit/attachments/{id}
Uploads an attachment chunk.
Before performing [**Upload a Chunk**](#upload-a-chunk), make sure to have an attachment id returned in **Start a Chunked Upload** example on **Create** section. Specify the byte range of the chunk using Content-Length. For example: "Content - Length": "bytes 0 - 39999 / 50000" for the first 40000 bytes of a 50000 byte file.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Attachments"
],
"x-ms-docs-override-version": "7.2-preview.4",
"x-ms-vss-resource": "attachments",
"x-ms-vss-method": "UploadAttachment",
"x-ms-preview": true,
"description": "Uploads an attachment chunk.\n\nBefore performing [**Upload a Chunk**](#upload-a-chunk), make sure to have an attachment id returned in **Start a Chunked Upload** example on **Create** section. Specify the byte range of the chunk using Content-Length. For example: \"Content - Length\": \"bytes 0 - 39999 / 50000\" for the first 40000 bytes of a 50000 byte file.",
"operationId": "Attachments_Upload Chunk",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "The id of the attachment",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"in": "header",
"name": "contentRangeHeader",
"description": "starting and ending byte positions for chunked file upload, format is \"Content-Range\": \"bytes 0-10000/50000\"",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "fileName",
"description": "",
"required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.4"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/AttachmentReference"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"description": "Stream to upload",
"required": true,
"content": {
"application/octet-stream": {
"schema": {
"type": "string",
"format": "Stream"
}
}
}
}
}
GET /{organization}/{project}/_apis/wit/classificationnodes
Gets root classification nodes under the project.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Classification Nodes"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "classificationNodes",
"x-ms-vss-method": "GetRootNodes",
"x-ms-preview": true,
"description": "Gets root classification nodes under the project.",
"operationId": "Classification Nodes_Get Root Nodes",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "$depth",
"description": "Depth of children to fetch.",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItemClassificationNode"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
POST /{organization}/{project}/_apis/wit/classificationnodes/{structureGroup}/{path}
Create new or update an existing classification node.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Classification Nodes"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "classificationNodes",
"x-ms-vss-method": "CreateOrUpdateClassificationNode",
"x-ms-preview": true,
"description": "Create new or update an existing classification node.",
"operationId": "Classification Nodes_Create Or Update",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "structureGroup",
"description": "Structure group of the classification node, area or iteration.",
"required": true,
"x-ms-enum": {
"name": "TreeStructureGroup",
"values": [
{
"value": "areas",
"description": ""
},
{
"value": "iterations",
"description": ""
}
]
},
"schema": {
"type": "string",
"enum": [
"areas",
"iterations"
]
}
},
{
"in": "path",
"name": "path",
"description": "Path of the classification node.",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemClassificationNode"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"description": "Node to create or update.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemClassificationNode"
}
}
}
}
}
DELETE /{organization}/{project}/_apis/wit/classificationnodes/{structureGroup}/{path}
Delete an existing classification node.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Classification Nodes"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "classificationNodes",
"x-ms-vss-method": "DeleteClassificationNode",
"x-ms-preview": true,
"description": "Delete an existing classification node.",
"operationId": "Classification Nodes_Delete",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "structureGroup",
"description": "Structure group of the classification node, area or iteration.",
"required": true,
"x-ms-enum": {
"name": "TreeStructureGroup",
"values": [
{
"value": "areas",
"description": ""
},
{
"value": "iterations",
"description": ""
}
]
},
"schema": {
"type": "string",
"enum": [
"areas",
"iterations"
]
}
},
{
"in": "path",
"name": "path",
"description": "Path of the classification node.",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "$reclassifyId",
"description": "Id of the target classification node for reclassification.",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation"
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/classificationnodes/{structureGroup}/{path}
Gets the classification node for a given node path.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Classification Nodes"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "classificationNodes",
"x-ms-vss-method": "GetClassificationNode",
"x-ms-preview": true,
"description": "Gets the classification node for a given node path.",
"operationId": "Classification Nodes_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "structureGroup",
"description": "Structure group of the classification node, area or iteration.",
"required": true,
"x-ms-enum": {
"name": "TreeStructureGroup",
"values": [
{
"value": "areas",
"description": ""
},
{
"value": "iterations",
"description": ""
}
]
},
"schema": {
"type": "string",
"enum": [
"areas",
"iterations"
]
}
},
{
"in": "path",
"name": "path",
"description": "Path of the classification node.",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "$depth",
"description": "Depth of children to fetch.",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemClassificationNode"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
PATCH /{organization}/{project}/_apis/wit/classificationnodes/{structureGroup}/{path}
Update an existing classification node.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Classification Nodes"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "classificationNodes",
"x-ms-vss-method": "UpdateClassificationNode",
"x-ms-preview": true,
"description": "Update an existing classification node.",
"operationId": "Classification Nodes_Update",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "structureGroup",
"description": "Structure group of the classification node, area or iteration.",
"required": true,
"x-ms-enum": {
"name": "TreeStructureGroup",
"values": [
{
"value": "areas",
"description": ""
},
{
"value": "iterations",
"description": ""
}
]
},
"schema": {
"type": "string",
"enum": [
"areas",
"iterations"
]
}
},
{
"in": "path",
"name": "path",
"description": "Path of the classification node.",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemClassificationNode"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"description": "Node to create or update.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemClassificationNode"
}
}
}
}
}
POST /{organization}/{project}/_apis/wit/fields
Create a new field.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Fields"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "fields",
"x-ms-vss-method": "CreateWorkItemField",
"x-ms-preview": true,
"description": "Create a new field.",
"operationId": "Fields_Create",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemField2"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"description": "New field definition",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemField2"
}
}
}
}
}
GET /{organization}/{project}/_apis/wit/fields
Returns information for all fields. The project ID/name parameter is optional.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Fields"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "fields",
"x-ms-vss-method": "GetWorkItemFields",
"x-ms-preview": true,
"description": "Returns information for all fields. The project ID/name parameter is optional.",
"operationId": "Fields_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "$expand",
"description": "Use ExtensionFields to include extension fields, otherwise exclude them. Unless the feature flag for this parameter is enabled, extension fields are always included.",
"required": false,
"x-ms-enum": {
"name": "GetFieldsExpand",
"values": [
{
"value": "none",
"description": "Default behavior."
},
{
"value": "extensionFields",
"description": "Adds extension fields to the response."
},
{
"value": "includeDeleted",
"description": "Includes fields that have been deleted."
}
]
},
"schema": {
"type": "string",
"enum": [
"none",
"extensionFields",
"includeDeleted"
]
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItemField2"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
DELETE /{organization}/{project}/_apis/wit/fields/{fieldNameOrRefName}
Deletes the field. To undelete a filed, see "Update Field" API.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Fields"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "fields",
"x-ms-vss-method": "DeleteWorkItemField",
"x-ms-preview": true,
"description": "Deletes the field. To undelete a filed, see \"Update Field\" API.",
"operationId": "Fields_Delete",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "fieldNameOrRefName",
"description": "Field simple name or reference name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation"
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/fields/{fieldNameOrRefName}
Gets information on a specific field.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Fields"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "fields",
"x-ms-vss-method": "GetWorkItemField",
"x-ms-preview": true,
"description": "Gets information on a specific field.",
"operationId": "Fields_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "fieldNameOrRefName",
"description": "Field simple name or reference name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemField2"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
PATCH /{organization}/{project}/_apis/wit/fields/{fieldNameOrRefName}
Update a field.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Fields"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "fields",
"x-ms-vss-method": "UpdateWorkItemField",
"x-ms-preview": true,
"description": "Update a field.",
"operationId": "Fields_Update",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "fieldNameOrRefName",
"description": "Name/reference name of the field to be updated",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemField2"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"description": "Payload contains desired value of the field's properties",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/FieldUpdate"
}
}
}
}
}
POST /{organization}/{project}/_apis/wit/projectprocessmigration
Migrates a project to a different process within the same OOB type. For example, you can only migrate a project from agile/custom-agile to agile/custom-agile.
**Not available in PurpleSuite.** Migrating a project to another process is a tenant-wide asynchronous operation on Microsoft's hosted work item tracking backend. The request is still validated and the vendor's error envelope is returned; no state changes and no success is fabricated.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Project Process Migration"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "projectProcessMigration",
"x-ms-vss-method": "MigrateProjectsProcess",
"x-ms-preview": true,
"description": "Migrates a project to a different process within the same OOB type. For example, you can only migrate a project from agile/custom-agile to agile/custom-agile.\n\n**Not available in PurpleSuite.** Migrating a project to another process is a tenant-wide asynchronous operation on Microsoft's hosted work item tracking backend. The request is still validated and the vendor's error envelope is returned; no state changes and no success is fabricated.",
"operationId": "Project Process Migration_Migrate Projects Process",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProcessMigrationResultModel"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "unavailable",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ProcessIdModel"
}
}
}
}
}
GET /{organization}/{project}/_apis/wit/queries
Gets the root queries and their children
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Queries"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "queries",
"x-ms-vss-method": "GetQueries",
"x-ms-preview": true,
"description": "Gets the root queries and their children",
"operationId": "Queries_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "$expand",
"description": "Include the query string (wiql), clauses, query result columns, and sort options in the results.",
"required": false,
"x-ms-enum": {
"name": "QueryExpand",
"values": [
{
"value": "none",
"description": "Expands Columns, Links and ChangeInfo"
},
{
"value": "wiql",
"description": "Expands Columns, Links, ChangeInfo and WIQL text"
},
{
"value": "clauses",
"description": "Expands Columns, Links, ChangeInfo, WIQL text and clauses"
},
{
"value": "all",
"description": "Expands all properties"
},
{
"value": "minimal",
"description": "Displays minimal properties and the WIQL text"
}
]
},
"schema": {
"type": "string",
"enum": [
"none",
"wiql",
"clauses",
"all",
"minimal"
]
}
},
{
"in": "query",
"name": "$depth",
"description": "In the folder of queries, return child queries and folders to this depth.",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "query",
"name": "$includeDeleted",
"description": "Include deleted queries and folders",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/QueryHierarchyItem"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
POST /{organization}/{project}/_apis/wit/queries/{query}
Creates a query, or moves a query.
Learn more about Work Item Query Language (WIQL) syntax [here](https://docs.microsoft.com/en-us/vsts/collaborate/wiql-syntax?toc=/vsts/work/track/toc.json&bc=/vsts/work/track/breadcrumb/toc.json&view=vsts).
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Queries"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "queries",
"x-ms-vss-method": "CreateQuery",
"x-ms-preview": true,
"description": "Creates a query, or moves a query.\n\nLearn more about Work Item Query Language (WIQL) syntax [here](https://docs.microsoft.com/en-us/vsts/collaborate/wiql-syntax?toc=/vsts/work/track/toc.json&bc=/vsts/work/track/breadcrumb/toc.json&view=vsts).",
"operationId": "Queries_Create",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "query",
"description": "The parent id or path under which the query is to be created.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "validateWiqlOnly",
"description": "If you only want to validate your WIQL query without actually creating one, set it to true. Default is false.",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryHierarchyItem"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"description": "The query to create.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryHierarchyItem"
}
}
}
}
}
DELETE /{organization}/{project}/_apis/wit/queries/{query}
Delete a query or a folder. This deletes any permission change on the deleted query or folder and any of its descendants if it is a folder. It is important to note that the deleted permission changes cannot be recovered upon undeleting the query or folder.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Queries"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "queries",
"x-ms-vss-method": "DeleteQuery",
"x-ms-preview": true,
"description": "Delete a query or a folder. This deletes any permission change on the deleted query or folder and any of its descendants if it is a folder. It is important to note that the deleted permission changes cannot be recovered upon undeleting the query or folder.",
"operationId": "Queries_Delete",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "query",
"description": "ID or path of the query or folder to delete.",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation"
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/queries/{query}
Retrieves an individual query and its children
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Queries"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "queries",
"x-ms-vss-method": "GetQuery",
"x-ms-preview": true,
"description": "Retrieves an individual query and its children",
"operationId": "Queries_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "query",
"description": "ID or path of the query.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "$expand",
"description": "Include the query string (wiql), clauses, query result columns, and sort options in the results.",
"required": false,
"x-ms-enum": {
"name": "QueryExpand",
"values": [
{
"value": "none",
"description": "Expands Columns, Links and ChangeInfo"
},
{
"value": "wiql",
"description": "Expands Columns, Links, ChangeInfo and WIQL text"
},
{
"value": "clauses",
"description": "Expands Columns, Links, ChangeInfo, WIQL text and clauses"
},
{
"value": "all",
"description": "Expands all properties"
},
{
"value": "minimal",
"description": "Displays minimal properties and the WIQL text"
}
]
},
"schema": {
"type": "string",
"enum": [
"none",
"wiql",
"clauses",
"all",
"minimal"
]
}
},
{
"in": "query",
"name": "$depth",
"description": "In the folder of queries, return child queries and folders to this depth.",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "query",
"name": "$includeDeleted",
"description": "Include deleted queries and folders",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "$useIsoDateFormat",
"description": "DateTime query clauses will be formatted using a ISO 8601 compliant format",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryHierarchyItem"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
PATCH /{organization}/{project}/_apis/wit/queries/{query}
Update a query or a folder. This allows you to update, rename and move queries and folders.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Queries"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "queries",
"x-ms-vss-method": "UpdateQuery",
"x-ms-preview": true,
"description": "Update a query or a folder. This allows you to update, rename and move queries and folders.",
"operationId": "Queries_Update",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "query",
"description": "The ID or path for the query to update.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "$undeleteDescendants",
"description": "Undelete the children of this folder. It is important to note that this will not bring back the permission changes that were previously applied to the descendants.",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryHierarchyItem"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"description": "The query to update.",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/QueryHierarchyItem"
}
}
}
}
}
POST /{organization}/{project}/_apis/wit/queriesbatch
Gets a list of queries by ids (Maximum 1000)
**PurpleSuite executable core.** $expand is limited to none and all; the wiql, clauses and minimal projections are not implemented. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Queries"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "queriesBatch",
"x-ms-vss-method": "GetQueriesBatch",
"x-ms-preview": true,
"description": "Gets a list of queries by ids (Maximum 1000)\n\n**PurpleSuite executable core.** $expand is limited to none and all; the wiql, clauses and minimal projections are not implemented. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.",
"operationId": "Queries_Get Queries Batch",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/QueryHierarchyItem"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled-core",
"requestBody": {
"required": true,
"description": "The queries to fetch.",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"ids"
],
"additionalProperties": false,
"properties": {
"ids": {
"type": "array",
"minItems": 1,
"items": {
"type": "string"
}
},
"$expand": {
"type": "string",
"enum": [
"none",
"all"
]
},
"errorPolicy": {
"type": "string",
"enum": [
"fail",
"omit"
]
}
}
}
}
}
}
}
GET /{organization}/{project}/_apis/wit/recyclebin
Gets a list of the IDs and the URLs of the deleted the work items in the Recycle Bin.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Recyclebin"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "recyclebin",
"x-ms-vss-method": "GetDeletedWorkItemShallowReferences",
"x-ms-preview": true,
"description": "Gets a list of the IDs and the URLs of the deleted the work items in the Recycle Bin.",
"operationId": "Recyclebin_Get Deleted Work Item Shallow References",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItemDeleteShallowReference"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
DELETE /{organization}/{project}/_apis/wit/recyclebin/{id}
Destroys the specified work item permanently from the Recycle Bin. This action can not be undone.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Recyclebin"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "recyclebin",
"x-ms-vss-method": "DestroyWorkItem",
"x-ms-preview": true,
"description": "Destroys the specified work item permanently from the Recycle Bin. This action can not be undone.",
"operationId": "Recyclebin_Destroy Work Item",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "ID of the work item to be destroyed permanently",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation"
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/recyclebin/{id}
Gets a deleted work item from Recycle Bin.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Recyclebin"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "recyclebin",
"x-ms-vss-method": "GetDeletedWorkItem",
"x-ms-preview": true,
"description": "Gets a deleted work item from Recycle Bin.",
"operationId": "Recyclebin_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "ID of the work item to be returned",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemDelete"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
PATCH /{organization}/{project}/_apis/wit/recyclebin/{id}
Restores the deleted work item from Recycle Bin.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Recyclebin"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "recyclebin",
"x-ms-vss-method": "RestoreWorkItem",
"x-ms-preview": true,
"description": "Restores the deleted work item from Recycle Bin.",
"operationId": "Recyclebin_Restore Work Item",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "ID of the work item to be restored",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemDelete"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"description": "Paylod with instructions to update the IsDeleted flag to false",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemDeleteUpdate"
}
}
}
}
}
GET /{organization}/{project}/_apis/wit/reporting/workitemlinks
Get a batch of work item links
**PurpleSuite executable core.** Returns this instance's work item links as a single watermarked batch; the vendor's multi-batch warehouse pacing is not reproduced. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Reporting Work Item Links"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "workItemLinks",
"x-ms-vss-method": "GetReportingLinksByLinkType",
"x-ms-preview": true,
"description": "Get a batch of work item links\n\n**PurpleSuite executable core.** Returns this instance's work item links as a single watermarked batch; the vendor's multi-batch warehouse pacing is not reproduced. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.",
"operationId": "Reporting Work Item Links_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "linkTypes",
"description": "A list of types to filter the results to specific link types. Omit this parameter to get work item links of all link types.",
"required": false,
"schema": {
"type": "string",
"description": "Vendor format: array (string)"
}
},
{
"in": "query",
"name": "types",
"description": "A list of types to filter the results to specific work item types. Omit this parameter to get work item links of all work item types.",
"required": false,
"schema": {
"type": "string",
"description": "Vendor format: array (string)"
}
},
{
"in": "query",
"name": "continuationToken",
"description": "Specifies the continuationToken to start the batch from. Omit this parameter to get the first batch of links.",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "startDateTime",
"description": "Date/time to use as a starting point for link changes. Only link changes that occurred after that date/time will be returned. Cannot be used in conjunction with 'watermark' parameter.",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReportingWorkItemLinksBatch"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled-core"
}
GET /{organization}/{project}/_apis/wit/reporting/workitemrevisions
Get a batch of work item revisions with the option of including deleted items
**PurpleSuite executable core.** Identity and tag expansion, $expand and discussion-only filtering are not implemented and are withdrawn from the contract. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Reporting Work Item Revisions"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "workItemRevisions",
"x-ms-vss-method": "ReadReportingRevisionsGet",
"x-ms-preview": true,
"description": "Get a batch of work item revisions with the option of including deleted items\n\n**PurpleSuite executable core.** Identity and tag expansion, $expand and discussion-only filtering are not implemented and are withdrawn from the contract. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.",
"operationId": "Reporting Work Item Revisions_Read Reporting Revisions Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "fields",
"description": "A list of fields to return in work item revisions. Omit this parameter to get all reportable fields.",
"required": false,
"schema": {
"type": "string",
"description": "Vendor format: array (string)"
}
},
{
"in": "query",
"name": "types",
"description": "A list of types to filter the results to specific work item types. Omit this parameter to get work item revisions of all work item types.",
"required": false,
"schema": {
"type": "string",
"description": "Vendor format: array (string)"
}
},
{
"in": "query",
"name": "continuationToken",
"description": "Specifies the watermark to start the batch from. Omit this parameter to get the first batch of revisions.",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "startDateTime",
"description": "Date/time to use as a starting point for revisions, all revisions will occur after this date/time. Cannot be used in conjunction with 'watermark' parameter.",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"in": "query",
"name": "includeDeleted",
"description": "Specify if the deleted item should be returned.",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "includeLatestOnly",
"description": "Return only the latest revisions of work items, skipping all historical revisions",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "$maxPageSize",
"description": "The maximum number of results to return in this batch",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReportingWorkItemRevisionsBatch"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled-core"
}
POST /{organization}/{project}/_apis/wit/reporting/workitemrevisions
Get a batch of work item revisions. This request may be used if your list of fields is large enough that it may run the URL over the length limit.
**PurpleSuite executable core.** includeIdentityRef and includeTagRef are not implemented and are withdrawn from the filter. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Reporting Work Item Revisions"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "workItemRevisions",
"x-ms-vss-method": "ReadReportingRevisionsPost",
"x-ms-preview": true,
"description": "Get a batch of work item revisions. This request may be used if your list of fields is large enough that it may run the URL over the length limit.\n\n**PurpleSuite executable core.** includeIdentityRef and includeTagRef are not implemented and are withdrawn from the filter. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.",
"operationId": "Reporting Work Item Revisions_Read Reporting Revisions Post",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "continuationToken",
"description": "Specifies the watermark to start the batch from. Omit this parameter to get the first batch of revisions.",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "startDateTime",
"description": "Date/time to use as a starting point for revisions, all revisions will occur after this date/time. Cannot be used in conjunction with 'watermark' parameter.",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReportingWorkItemRevisionsBatch"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled-core",
"requestBody": {
"required": true,
"description": "The revision filter.",
"content": {
"application/json": {
"schema": {
"type": "object",
"additionalProperties": false,
"properties": {
"fields": {
"type": "array",
"items": {
"type": "string"
}
},
"types": {
"type": "array",
"items": {
"type": "string"
}
},
"includeDeleted": {
"type": "boolean"
},
"includeLatestOnly": {
"type": "boolean"
}
}
}
}
}
}
}
GET /{organization}/{project}/_apis/wit/reporting/workItemRevisions/discussions
**PurpleSuite executable core.** Returns this instance's comment revisions as a single watermarked batch; the vendor's multi-batch warehouse pacing is not reproduced. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Item Revisions Discussions"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "workItemRevisionsDiscussions",
"x-ms-vss-method": "ReadReportingDiscussions",
"x-ms-preview": true,
"description": "**PurpleSuite executable core.** Returns this instance's comment revisions as a single watermarked batch; the vendor's multi-batch warehouse pacing is not reproduced. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.",
"operationId": "Work Item Revisions Discussions_Read Reporting Discussions",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "continuationToken",
"description": "",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "$maxPageSize",
"description": "",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/ReportingWorkItemRevisionsBatch"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled-core"
}
POST /{organization}/{project}/_apis/wit/sendmail
RESTful method to send mail for selected/queried work items.
**Not available in PurpleSuite.** Sending mail requires Microsoft's hosted notification service. PurpleSuite has no mail transport and will not report a delivery that did not happen. The request is still validated and the vendor's error envelope is returned; no state changes and no success is fabricated.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Send Mail"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "sendMail",
"x-ms-vss-method": "SendMailAsync",
"x-ms-preview": true,
"description": "RESTful method to send mail for selected/queried work items.\n\n**Not available in PurpleSuite.** Sending mail requires Microsoft's hosted notification service. PurpleSuite has no mail transport and will not report a delivery that did not happen. The request is still validated and the vendor's error envelope is returned; no state changes and no success is fabricated.",
"operationId": "Send Mail_Send Mail",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation"
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "unavailable",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/SendMailBody"
}
}
}
}
}
GET /{organization}/{project}/_apis/wit/tags
Get all the tags for the project.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Tags"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "tags",
"x-ms-vss-method": "GetTags",
"x-ms-preview": true,
"description": "Get all the tags for the project.",
"operationId": "Tags_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItemTagDefinition"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
DELETE /{organization}/{project}/_apis/wit/tags/{tagIdOrName}
Delete the tag for the project. Please note, that the deleted tag will be removed from all Work Items as well as Pull Requests.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Tags"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "tags",
"x-ms-vss-method": "DeleteTag",
"x-ms-preview": true,
"description": "Delete the tag for the project. Please note, that the deleted tag will be removed from all Work Items as well as Pull Requests.",
"operationId": "Tags_Delete",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "tagIdOrName",
"description": "Tag ID or tag name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation"
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/tags/{tagIdOrName}
Get the tag for the project.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Tags"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "tags",
"x-ms-vss-method": "GetTag",
"x-ms-preview": true,
"description": "Get the tag for the project.",
"operationId": "Tags_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "tagIdOrName",
"description": "Tag ID or tag name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemTagDefinition"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
PATCH /{organization}/{project}/_apis/wit/tags/{tagIdOrName}
Update the tag for the project.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Tags"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "tags",
"x-ms-vss-method": "UpdateTag",
"x-ms-preview": true,
"description": "Update the tag for the project.",
"operationId": "Tags_Update",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "tagIdOrName",
"description": "Tag ID or tag name.",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemTagDefinition"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemTagDefinition"
}
}
}
}
}
POST /{organization}/{project}/_apis/wit/tempqueries
Creates a temporary query
Learn more about Work Item Query Language (WIQL) syntax [here](https://docs.microsoft.com/en-us/vsts/collaborate/wiql-syntax?toc=/vsts/work/track/toc.json&bc=/vsts/work/track/breadcrumb/toc.json&view=vsts).
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Temp Queries"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "tempQueries",
"x-ms-vss-method": "CreateTempQuery",
"x-ms-preview": true,
"description": "Creates a temporary query\n\nLearn more about Work Item Query Language (WIQL) syntax [here](https://docs.microsoft.com/en-us/vsts/collaborate/wiql-syntax?toc=/vsts/work/track/toc.json&bc=/vsts/work/track/breadcrumb/toc.json&view=vsts).",
"operationId": "Temp Queries_Create",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TemporaryQueryResponseModel"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"description": "The temporary query to create",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/TemporaryQueryRequestModel"
}
}
}
}
}
GET /{organization}/{project}/_apis/wit/workitems
Returns a list of work items (Maximum 200)
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Items"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "workItems",
"x-ms-vss-method": "GetWorkItems",
"x-ms-preview": true,
"description": "Returns a list of work items (Maximum 200)",
"operationId": "Work Items_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "ids",
"description": "The comma-separated list of requested work item ids. (Maximum 200 ids allowed).",
"required": true,
"schema": {
"type": "string",
"description": "Vendor format: array (int32)"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "fields",
"description": "Comma-separated list of requested fields",
"required": false,
"schema": {
"type": "string",
"description": "Vendor format: array (string)"
}
},
{
"in": "query",
"name": "asOf",
"description": "AsOf UTC date time string",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"in": "query",
"name": "$expand",
"description": "The expand parameters for work item attributes. Possible options are { None, Relations, Fields, Links, All }.",
"required": false,
"x-ms-enum": {
"name": "WorkItemExpand",
"values": [
{
"value": "none",
"description": "Default behavior."
},
{
"value": "relations",
"description": "Relations work item expand."
},
{
"value": "fields",
"description": "Fields work item expand."
},
{
"value": "links",
"description": "Links work item expand."
},
{
"value": "all",
"description": "Expands all."
}
]
},
"schema": {
"type": "string",
"enum": [
"none",
"relations",
"fields",
"links",
"all"
]
}
},
{
"in": "query",
"name": "errorPolicy",
"description": "The flag to control error policy in a bulk get work items request. Possible options are {Fail, Omit}.",
"required": false,
"x-ms-enum": {
"name": "WorkItemErrorPolicy",
"values": [
{
"value": "fail",
"description": "Fail work error policy."
},
{
"value": "omit",
"description": "Omit work error policy."
}
]
},
"schema": {
"type": "string",
"enum": [
"fail",
"omit"
]
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItem"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
POST /{organization}/{project}/_apis/wit/workitems/${type}
Creates a single work item.
**PurpleSuite executable core.** JSON Patch is limited to add, replace, remove and test over /fields/*, /relations/* and /id; move and copy are rejected. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Items"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "workItems",
"x-ms-vss-method": "CreateWorkItem",
"x-ms-preview": true,
"description": "Creates a single work item.\n\n**PurpleSuite executable core.** JSON Patch is limited to add, replace, remove and test over /fields/*, /relations/* and /id; move and copy are rejected. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.",
"operationId": "Work Items_Create",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "type",
"description": "The work item type of the work item to create",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "validateOnly",
"description": "Indicate if you only want to validate the changes without saving the work item",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "bypassRules",
"description": "Do not enforce the work item type rules on this update",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "suppressNotifications",
"description": "Do not fire any notifications for this change",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "$expand",
"description": "The expand parameters for work item attributes. Possible options are { None, Relations, Fields, Links, All }.",
"required": false,
"x-ms-enum": {
"name": "WorkItemExpand",
"values": [
{
"value": "none",
"description": "Default behavior."
},
{
"value": "relations",
"description": "Relations work item expand."
},
{
"value": "fields",
"description": "Fields work item expand."
},
{
"value": "links",
"description": "Links work item expand."
},
{
"value": "all",
"description": "Expands all."
}
]
},
"schema": {
"type": "string",
"enum": [
"none",
"relations",
"fields",
"links",
"all"
]
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItem"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled-core",
"requestBody": {
"required": true,
"description": "Fields and relations to set on the new work item.",
"content": {
"application/json-patch+json": {
"schema": {
"type": "array",
"minItems": 1,
"description": "JSON Patch document. This paint implements add, replace, remove and test against /fields/*, /relations/* and /id.",
"items": {
"type": "object",
"required": [
"op",
"path"
],
"additionalProperties": false,
"properties": {
"op": {
"type": "string",
"enum": [
"add",
"replace",
"remove",
"test"
],
"description": "move and copy are declared by the vendor but not implemented here, so they are withdrawn rather than accepted and ignored."
},
"path": {
"type": "string",
"pattern": "^/(fields/.+|relations/(-|\\d+)(/.*)?|id)$"
},
"value": {},
"from": {
"type": "string"
}
}
}
}
}
}
}
}
GET /{organization}/{project}/_apis/wit/workitems/${type}
Returns a single work item from a template.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Items"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "workItems",
"x-ms-vss-method": "GetWorkItemTemplate",
"x-ms-preview": true,
"description": "Returns a single work item from a template.",
"operationId": "Work Items_Get Work Item Template",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "type",
"description": "The work item type name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "fields",
"description": "Comma-separated list of requested fields",
"required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "asOf",
"description": "AsOf UTC date time string",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"in": "query",
"name": "$expand",
"description": "The expand parameters for work item attributes. Possible options are { None, Relations, Fields, Links, All }.",
"required": false,
"x-ms-enum": {
"name": "WorkItemExpand",
"values": [
{
"value": "none",
"description": "Default behavior."
},
{
"value": "relations",
"description": "Relations work item expand."
},
{
"value": "fields",
"description": "Fields work item expand."
},
{
"value": "links",
"description": "Links work item expand."
},
{
"value": "all",
"description": "Expands all."
}
]
},
"schema": {
"type": "string",
"enum": [
"none",
"relations",
"fields",
"links",
"all"
]
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItem"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
DELETE /{organization}/{project}/_apis/wit/workitems/{id}
Deletes the specified work item and sends it to the Recycle Bin, so that it can be restored back, if required. Optionally, if the destroy parameter has been set to true, it destroys the work item permanently. WARNING: If the destroy parameter is set to true, work items deleted by this command will NOT go to recycle-bin and there is no way to restore/recover them after deletion. It is recommended NOT to use this parameter. If you do, please use this parameter with extreme caution.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Items"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "workItems",
"x-ms-vss-method": "DeleteWorkItem",
"x-ms-preview": true,
"description": "Deletes the specified work item and sends it to the Recycle Bin, so that it can be restored back, if required. Optionally, if the destroy parameter has been set to true, it destroys the work item permanently. WARNING: If the destroy parameter is set to true, work items deleted by this command will NOT go to recycle-bin and there is no way to restore/recover them after deletion. It is recommended NOT to use this parameter. If you do, please use this parameter with extreme caution.",
"operationId": "Work Items_Delete",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "ID of the work item to be deleted",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "destroy",
"description": "Optional parameter, if set to true, the work item is deleted permanently. Please note: the destroy action is PERMANENT and cannot be undone.",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemDelete"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/workitems/{id}
Returns a single work item.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Items"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "workItems",
"x-ms-vss-method": "GetWorkItem",
"x-ms-preview": true,
"description": "Returns a single work item.",
"operationId": "Work Items_Get Work Item",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "The work item id",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "fields",
"description": "Comma-separated list of requested fields",
"required": false,
"schema": {
"type": "string",
"description": "Vendor format: array (string)"
}
},
{
"in": "query",
"name": "asOf",
"description": "AsOf UTC date time string",
"required": false,
"schema": {
"type": "string",
"format": "date-time"
}
},
{
"in": "query",
"name": "$expand",
"description": "The expand parameters for work item attributes. Possible options are { None, Relations, Fields, Links, All }.",
"required": false,
"x-ms-enum": {
"name": "WorkItemExpand",
"values": [
{
"value": "none",
"description": "Default behavior."
},
{
"value": "relations",
"description": "Relations work item expand."
},
{
"value": "fields",
"description": "Fields work item expand."
},
{
"value": "links",
"description": "Links work item expand."
},
{
"value": "all",
"description": "Expands all."
}
]
},
"schema": {
"type": "string",
"enum": [
"none",
"relations",
"fields",
"links",
"all"
]
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItem"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
PATCH /{organization}/{project}/_apis/wit/workitems/{id}
Updates a single work item.
**PurpleSuite executable core.** JSON Patch is limited to add, replace, remove and test over /fields/*, /relations/* and /id; move and copy are rejected. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Items"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "workItems",
"x-ms-vss-method": "UpdateWorkItem",
"x-ms-preview": true,
"description": "Updates a single work item.\n\n**PurpleSuite executable core.** JSON Patch is limited to add, replace, remove and test over /fields/*, /relations/* and /id; move and copy are rejected. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.",
"operationId": "Work Items_Update",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "The id of the work item to update",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "validateOnly",
"description": "Indicate if you only want to validate the changes without saving the work item",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "bypassRules",
"description": "Do not enforce the work item type rules on this update",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "suppressNotifications",
"description": "Do not fire any notifications for this change",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "$expand",
"description": "The expand parameters for work item attributes. Possible options are { None, Relations, Fields, Links, All }.",
"required": false,
"x-ms-enum": {
"name": "WorkItemExpand",
"values": [
{
"value": "none",
"description": "Default behavior."
},
{
"value": "relations",
"description": "Relations work item expand."
},
{
"value": "fields",
"description": "Fields work item expand."
},
{
"value": "links",
"description": "Links work item expand."
},
{
"value": "all",
"description": "Expands all."
}
]
},
"schema": {
"type": "string",
"enum": [
"none",
"relations",
"fields",
"links",
"all"
]
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItem"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled-core",
"requestBody": {
"required": true,
"description": "Fields and relations to change on the work item.",
"content": {
"application/json-patch+json": {
"schema": {
"type": "array",
"minItems": 1,
"description": "JSON Patch document. This paint implements add, replace, remove and test against /fields/*, /relations/* and /id.",
"items": {
"type": "object",
"required": [
"op",
"path"
],
"additionalProperties": false,
"properties": {
"op": {
"type": "string",
"enum": [
"add",
"replace",
"remove",
"test"
],
"description": "move and copy are declared by the vendor but not implemented here, so they are withdrawn rather than accepted and ignored."
},
"path": {
"type": "string",
"pattern": "^/(fields/.+|relations/(-|\\d+)(/.*)?|id)$"
},
"value": {},
"from": {
"type": "string"
}
}
}
}
}
}
}
}
GET /{organization}/{project}/_apis/wit/workItems/{id}/revisions
Returns the list of fully hydrated work item revisions, paged.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Revisions"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "revisions",
"x-ms-vss-method": "GetRevisions",
"x-ms-preview": true,
"description": "Returns the list of fully hydrated work item revisions, paged.",
"operationId": "Revisions_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "$top",
"description": "",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "query",
"name": "$skip",
"description": "",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "query",
"name": "$expand",
"description": "",
"required": false,
"x-ms-enum": {
"name": "WorkItemExpand",
"values": [
{
"value": "none",
"description": "Default behavior."
},
{
"value": "relations",
"description": "Relations work item expand."
},
{
"value": "fields",
"description": "Fields work item expand."
},
{
"value": "links",
"description": "Links work item expand."
},
{
"value": "all",
"description": "Expands all."
}
]
},
"schema": {
"type": "string",
"enum": [
"none",
"relations",
"fields",
"links",
"all"
]
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItem"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/workItems/{id}/revisions/{revisionNumber}
Returns a fully hydrated work item for the requested revision
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Revisions"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "revisions",
"x-ms-vss-method": "GetRevision",
"x-ms-preview": true,
"description": "Returns a fully hydrated work item for the requested revision",
"operationId": "Revisions_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "path",
"name": "revisionNumber",
"description": "",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "$expand",
"description": "",
"required": false,
"x-ms-enum": {
"name": "WorkItemExpand",
"values": [
{
"value": "none",
"description": "Default behavior."
},
{
"value": "relations",
"description": "Relations work item expand."
},
{
"value": "fields",
"description": "Fields work item expand."
},
{
"value": "links",
"description": "Links work item expand."
},
{
"value": "all",
"description": "Expands all."
}
]
},
"schema": {
"type": "string",
"enum": [
"none",
"relations",
"fields",
"links",
"all"
]
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItem"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/workItems/{id}/updates
Returns the deltas between work item revisions
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Updates"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "updates",
"x-ms-vss-method": "GetUpdates",
"x-ms-preview": true,
"description": "Returns the deltas between work item revisions",
"operationId": "Updates_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "$top",
"description": "",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "query",
"name": "$skip",
"description": "",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItemUpdate"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/workItems/{id}/updates/{updateNumber}
Returns a single update for a work item
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Updates"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "updates",
"x-ms-vss-method": "GetUpdate",
"x-ms-preview": true,
"description": "Returns a single update for a work item",
"operationId": "Updates_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "path",
"name": "updateNumber",
"description": "",
"required": true,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemUpdate"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
POST /{organization}/{project}/_apis/wit/workitemsbatch
Gets work items for a list of work item ids (Maximum 200)
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Items"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "workItemsBatch",
"x-ms-vss-method": "GetWorkItemsBatch",
"x-ms-preview": true,
"description": "Gets work items for a list of work item ids (Maximum 200)",
"operationId": "Work Items_Get Work Items Batch",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItem"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemBatchGetRequest"
}
}
}
}
}
POST /{organization}/{project}/_apis/wit/workitemsdelete
Deletes specified work items and sends them to the Recycle Bin, so that it can be restored back, if required. Optionally, if the destroy parameter has been set to true, it destroys the work item permanently. WARNING: If the destroy parameter is set to true, work items deleted by this command will NOT go to recycle-bin and there is no way to restore/recover them after deletion.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Items"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "workItemsDelete",
"x-ms-vss-method": "DeleteWorkItems",
"x-ms-preview": true,
"description": "Deletes specified work items and sends them to the Recycle Bin, so that it can be restored back, if required. Optionally, if the destroy parameter has been set to true, it destroys the work item permanently. WARNING: If the destroy parameter is set to true, work items deleted by this command will NOT go to recycle-bin and there is no way to restore/recover them after deletion.",
"operationId": "Work Items_Delete Work Items",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemDeleteBatch"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemDeleteBatchRequest"
}
}
}
}
}
GET /{organization}/{project}/_apis/wit/workitemtypecategories
Get all work item type categories.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Item Type Categories"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "workItemTypeCategories",
"x-ms-vss-method": "GetWorkItemTypeCategories",
"x-ms-preview": true,
"description": "Get all work item type categories.",
"operationId": "Work Item Type Categories_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItemTypeCategory"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/workitemtypecategories/{category}
Get specific work item type category by name.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Item Type Categories"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "workItemTypeCategories",
"x-ms-vss-method": "GetWorkItemTypeCategory",
"x-ms-preview": true,
"description": "Get specific work item type category by name.",
"operationId": "Work Item Type Categories_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "category",
"description": "The category name",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemTypeCategory"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/workitemtypes
Returns the list of work item types
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Item Types"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "workItemTypes",
"x-ms-vss-method": "GetWorkItemTypes",
"x-ms-preview": true,
"description": "Returns the list of work item types",
"operationId": "Work Item Types_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItemType"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/workitemtypes/{type}
Returns a work item type definition.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Item Types"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "workItemTypes",
"x-ms-vss-method": "GetWorkItemType",
"x-ms-preview": true,
"description": "Returns a work item type definition.",
"operationId": "Work Item Types_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "type",
"description": "Work item type name",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemType"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/workitemtypes/{type}/fields
Get a list of fields for a work item type with detailed references.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Item Types Field"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "workItemTypesField",
"x-ms-vss-method": "GetWorkItemTypeFieldsWithReferences",
"x-ms-preview": true,
"description": "Get a list of fields for a work item type with detailed references.",
"operationId": "Work Item Types Field_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "type",
"description": "Work item type.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "$expand",
"description": "Expand level for the API response. Properties: to include allowedvalues, default value, isRequired etc. as a part of response; None: to skip these properties.",
"required": false,
"x-ms-enum": {
"name": "WorkItemTypeFieldsExpandLevel",
"values": [
{
"value": "none",
"description": "Includes only basic properties of the field."
},
{
"value": "allowedValues",
"description": "Includes allowed values for the field."
},
{
"value": "dependentFields",
"description": "Includes dependent fields of the field."
},
{
"value": "all",
"description": "Includes allowed values and dependent fields of the field."
}
]
},
"schema": {
"type": "string",
"enum": [
"none",
"allowedValues",
"dependentFields",
"all"
]
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItemTypeFieldWithReferences"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/workitemtypes/{type}/fields/{field}
Get a field for a work item type with detailed references.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Item Types Field"
],
"x-ms-docs-override-version": "7.2-preview.3",
"x-ms-vss-resource": "workItemTypesField",
"x-ms-vss-method": "GetWorkItemTypeFieldWithReferences",
"x-ms-preview": true,
"description": "Get a field for a work item type with detailed references.",
"operationId": "Work Item Types Field_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "type",
"description": "Work item type.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "field",
"description": "",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "$expand",
"description": "Expand level for the API response. Properties: to include allowedvalues, default value, isRequired etc. as a part of response; None: to skip these properties.",
"required": false,
"x-ms-enum": {
"name": "WorkItemTypeFieldsExpandLevel",
"values": [
{
"value": "none",
"description": "Includes only basic properties of the field."
},
{
"value": "allowedValues",
"description": "Includes allowed values for the field."
},
{
"value": "dependentFields",
"description": "Includes dependent fields of the field."
},
{
"value": "all",
"description": "Includes allowed values and dependent fields of the field."
}
]
},
"schema": {
"type": "string",
"enum": [
"none",
"allowedValues",
"dependentFields",
"all"
]
}
},
{
"$ref": "#/components/parameters/api-Version-preview.3"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemTypeFieldWithReferences"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/_apis/wit/workitemtypes/{type}/states
Returns the state names and colors for a work item type.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Work Item Type States"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "workItemTypeStates",
"x-ms-vss-method": "GetWorkItemTypeStates",
"x-ms-preview": true,
"description": "Returns the state names and colors for a work item type.",
"operationId": "Work Item Type States_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "type",
"description": "The state name",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItemStateColor"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
POST /{organization}/{project}/{team}/_apis/wit/templates
Creates a template
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Templates"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "templates",
"x-ms-vss-method": "CreateTemplate",
"x-ms-preview": true,
"description": "Creates a template",
"operationId": "Templates_Create",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "team",
"description": "Team ID or team name",
"required": true,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemTemplate"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"description": "Template contents",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemTemplate"
}
}
}
}
}
GET /{organization}/{project}/{team}/_apis/wit/templates
Gets template
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Templates"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "templates",
"x-ms-vss-method": "GetTemplates",
"x-ms-preview": true,
"description": "Gets template",
"operationId": "Templates_List",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "team",
"description": "Team ID or team name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "workitemtypename",
"description": "Optional, When specified returns templates for given Work item type.",
"required": false,
"schema": {
"type": "string"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"count",
"value"
],
"description": "VssJsonCollectionWrapper. Azure DevOps never returns a bare JSON array; the pinned Swagger types this as an array because of its generator.",
"properties": {
"count": {
"type": "integer",
"format": "int32"
},
"value": {
"type": "array",
"items": {
"$ref": "#/components/schemas/WorkItemTemplateReference"
}
}
}
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
DELETE /{organization}/{project}/{team}/_apis/wit/templates/{templateId}
Deletes the template with given id
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Templates"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "templates",
"x-ms-vss-method": "DeleteTemplate",
"x-ms-preview": true,
"description": "Deletes the template with given id",
"operationId": "Templates_Delete",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "team",
"description": "Team ID or team name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "templateId",
"description": "Template id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation"
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
GET /{organization}/{project}/{team}/_apis/wit/templates/{templateId}
Gets the template with specified id
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Templates"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "templates",
"x-ms-vss-method": "GetTemplate",
"x-ms-preview": true,
"description": "Gets the template with specified id",
"operationId": "Templates_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "team",
"description": "Team ID or team name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "templateId",
"description": "Template Id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemTemplate"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled"
}
PUT /{organization}/{project}/{team}/_apis/wit/templates/{templateId}
Replace template contents
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Templates"
],
"x-ms-docs-override-version": "7.2-preview.1",
"x-ms-vss-resource": "templates",
"x-ms-vss-method": "ReplaceTemplate",
"x-ms-preview": true,
"description": "Replace template contents",
"operationId": "Templates_Replace Template",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "team",
"description": "Team ID or team name",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "templateId",
"description": "Template id",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.1"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemTemplate"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled",
"requestBody": {
"description": "Template contents to replace with",
"required": true,
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemTemplate"
}
}
}
}
}
POST /{organization}/{project}/{team}/_apis/wit/wiql
Gets the results of the query given its WIQL.
**PurpleSuite executable core.** Flat WorkItems queries only. FROM WorkItemLinks, MODE clauses and tree queries are rejected rather than silently flattened. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Wiql"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "wiql",
"x-ms-vss-method": "QueryByWiql",
"x-ms-preview": true,
"description": "Gets the results of the query given its WIQL.\n\n**PurpleSuite executable core.** Flat WorkItems queries only. FROM WorkItemLinks, MODE clauses and tree queries are rejected rather than silently flattened. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.",
"operationId": "Wiql_Query By Wiql",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "team",
"description": "Team ID or team name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "timePrecision",
"description": "Whether or not to use time precision.",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "$top",
"description": "The max number of results to return.",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemQueryResult"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled-core",
"requestBody": {
"required": true,
"description": "The WIQL query to run.",
"content": {
"application/json": {
"schema": {
"type": "object",
"required": [
"query"
],
"additionalProperties": false,
"properties": {
"query": {
"type": "string",
"minLength": 1,
"description": "Flat WIQL: SELECT <fields> FROM WorkItems [WHERE <clauses>] [ORDER BY <fields>]. Supports AND/OR, = <> > < >= <=, IN, CONTAINS, EVER, the @Me and @Today macros, and [Field] bracket syntax."
}
}
}
}
}
}
}
HEAD /{organization}/{project}/{team}/_apis/wit/wiql/{id}
Gets the results of the query given the query ID.
**PurpleSuite executable core.** Returns the stored query's result count through the same flat-query subset. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Wiql"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "wiql",
"x-ms-vss-method": "QueryById",
"x-ms-preview": true,
"description": "Gets the results of the query given the query ID.\n\n**PurpleSuite executable core.** Returns the stored query's result count through the same flat-query subset. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.",
"operationId": "Wiql_Get",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "The query ID.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "team",
"description": "Team ID or team name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "timePrecision",
"description": "Whether or not to use time precision.",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "$top",
"description": "The max number of results to return.",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"type": "integer",
"format": "int32"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled-core"
}
GET /{organization}/{project}/{team}/_apis/wit/wiql/{id}
Gets the results of the query given the query ID.
**PurpleSuite executable core.** Runs the stored query's WIQL through the same flat-query subset; a stored link or tree query is rejected. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.
Authentication
[
{
"accessToken": []
}
]
Request, responses and operation details
{
"tags": [
"Wiql"
],
"x-ms-docs-override-version": "7.2-preview.2",
"x-ms-vss-resource": "wiql",
"x-ms-vss-method": "QueryById",
"x-ms-preview": true,
"description": "Gets the results of the query given the query ID.\n\n**PurpleSuite executable core.** Runs the stored query's WIQL through the same flat-query subset; a stored link or tree query is rejected. The request published here is exactly what this paint executes; anything outside it is rejected rather than silently ignored.",
"operationId": "Wiql_Query By Id",
"parameters": [
{
"in": "path",
"name": "organization",
"description": "The name of the Azure DevOps organization.",
"required": true,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "id",
"description": "The query ID.",
"required": true,
"schema": {
"type": "string",
"format": "uuid"
}
},
{
"in": "path",
"name": "project",
"description": "Project ID or project name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "path",
"name": "team",
"description": "Team ID or team name",
"required": true,
"x-ms-required": false,
"schema": {
"type": "string"
}
},
{
"in": "query",
"name": "timePrecision",
"description": "Whether or not to use time precision.",
"required": false,
"schema": {
"type": "boolean"
}
},
{
"in": "query",
"name": "$top",
"description": "The max number of results to return.",
"required": false,
"schema": {
"type": "integer",
"format": "int32"
}
},
{
"$ref": "#/components/parameters/api-Version-preview.2"
}
],
"responses": {
"200": {
"description": "successful operation",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WorkItemQueryResult"
}
}
}
},
"400": {
"description": "The request is not valid for this operation.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"401": {
"description": "The request is not authenticated.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"404": {
"description": "The requested resource does not exist.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"405": {
"description": "The operation is not supported by this PurpleSuite paint.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"409": {
"description": "The request conflicts with the current state of the resource.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
},
"415": {
"description": "The request Content-Type is not the one this operation declares.",
"content": {
"application/json": {
"schema": {
"$ref": "#/components/schemas/WrappedException"
}
}
}
}
},
"security": [
{
"accessToken": []
}
],
"x-purplesuite-classification": "modeled-core"
}