Visual Studio Resource Provider Client
Use these APIs to manage Visual Studio Team Services resources through the Azure Resource Manager
COMMUNITYBEARER0 INSTALLS
OpenAPI Specificationv3.0
{
"swagger": "2.0",
"schemes": [
"https"
],
"host": "management.azure.com",
"info": {
"description": "Use these APIs to manage Visual Studio Team Services resources through the Azure Resource Manager. All task operations conform to the HTTP/1.1 protocol specification and each operation returns an x-ms-request-id header that can be used to obtain information about the request. You must make sure that requests made to these resources are secure. For more information, see https://docs.microsoft.com/en-us/rest/api/index.",
"title": "Visual Studio Resource Provider Client",
"version": "2017-11-01-preview",
"x-apisguru-categories": [
"cloud"
],
"x-logo": {
"url": "https://api.apis.guru/v2/cache/logo/https_assets.onestore.ms_cdnfiles_onestorerolling-1606-01000_shell_v3_images_logo_microsoft.png"
},
"x-origin": [
{
"format": "swagger",
"url": "https://raw.githubusercontent.com/Azure/azure-rest-api-specs/master/specification/visualstudio/resource-manager/Microsoft.VisualStudio/preview/2017-11-01-preview/Csm.json",
"version": "2.0"
}
],
"x-preferred": true,
"x-providerName": "azure.com",
"x-serviceName": "visualstudio-Csm",
"x-tags": [
"Azure",
"Microsoft"
]
},
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"securityDefinitions": {
"azure_auth": {
"authorizationUrl": "https://login.microsoftonline.com/common/oauth2/authorize",
"description": "Azure Active Directory OAuth2 Flow",
"flow": "implicit",
"scopes": {
"user_impersonation": "impersonate your user account"
},
"type": "oauth2"
}
},
"security": [
{
"azure_auth": [
"user_impersonation"
]
}
],
"parameters": {
"apiVersionParameter": {
"description": "API Version",
"in": "query",
"name": "api-version",
"required": true,
"type": "string"
},
"resourceGroupNameParameter": {
"description": "Name of the resource group within the Azure subscription.",
"in": "path",
"name": "resourceGroupName",
"required": true,
"type": "string",
"x-ms-parameter-location": "method"
},
"subscriptionIdParameter": {
"description": "The Azure subscription identifier.",
"in": "path",
"name": "subscriptionId",
"required": true,
"type": "string"
}
},
"paths": {
"/providers/microsoft.visualstudio/operations": {
"get": {
"description": "Gets the details of all operations possible on the Microsoft.VisualStudio resource provider.",
"operationId": "Operations_List",
"responses": {
"200": {
"description": "The operation succeeded. The response contains the possible operations on the Microsoft.VisualStudio resource provider.",
"schema": {
"$ref": "#/definitions/OperationListResult"
}
}
},
"summary": "Operations_List",
"tags": [
"Operations"
],
"x-ms-examples": {
"Get a list of operations for this resource provider": {
"parameters": {
"api-version": "2014-04-01-preview"
},
"responses": {
"200": {
"body": {
"value": [
{
"display": {
"description": "Set Account",
"operation": "Creates or updates the Account",
"provider": "Visual Studio",
"resource": "Account"
},
"name": "Microsoft.VisualStudio/Account/Write"
},
{
"display": {
"description": "Delete Account",
"operation": "Deletes the Account",
"provider": "Visual Studio",
"resource": "Account"
},
"name": "Microsoft.VisualStudio/Account/Delete"
},
{
"display": {
"description": "Read Account",
"operation": "Reads the Account",
"provider": "Visual Studio",
"resource": "Account"
},
"name": "Microsoft.VisualStudio/Account/Read"
},
{
"display": {
"description": "Set Project",
"operation": "Creates or updates the Project",
"provider": "Visual Studio",
"resource": "Project"
},
"name": "Microsoft.VisualStudio/Project/Write"
},
{
"display": {
"description": "Delete Project",
"operation": "Deletes the Project",
"provider": "Visual Studio",
"resource": "Project"
},
"name": "Microsoft.VisualStudio/Project/Delete"
},
{
"display": {
"description": "Read Project",
"operation": "Reads the Project",
"provider": "Visual Studio",
"resource": "Project"
},
"name": "Microsoft.VisualStudio/Project/Read"
},
{
"display": {
"description": "Set Extension",
"operation": "Creates or updates the Extension",
"provider": "Visual Studio",
"resource": "Extension"
},
"name": "Microsoft.VisualStudio/Extension/Write"
},
{
"display": {
"description": "Delete Extension",
"operation": "Deletes the Extension",
"provider": "Visual Studio",
"resource": "Extension"
},
"name": "Microsoft.VisualStudio/Extension/Delete"
},
{
"display": {
"description": "Read Extension",
"operation": "Reads the Extension",
"provider": "Visual Studio",
"resource": "Extension"
},
"name": "Microsoft.VisualStudio/Extension/Read"
}
]
}
}
}
}
}
}
},
"/subscriptions/{subscriptionId}/providers/microsoft.visualstudio/checkNameAvailability": {
"post": {
"description": "Checks if the specified Visual Studio Team Services account name is available. Resource name can be either an account name or an account name and PUID.",
"operationId": "Accounts_CheckNameAvailability",
"parameters": [
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"description": "Parameters describing the name to check availability for.",
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/CheckNameAvailabilityParameter"
}
}
],
"responses": {
"200": {
"description": "The operation succeeded. The response contains the result of the name availability check.",
"schema": {
"$ref": "#/definitions/CheckNameAvailabilityResult"
}
}
},
"summary": "Accounts_CheckNameAvailability",
"tags": [
"Accounts"
],
"x-ms-examples": {
"Check availability of an account name": {
"parameters": {
"api-version": "2014-04-01-preview",
"body": {
"resourceName": "ExampleName",
"resourceType": "Account"
},
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {
"body": {
"nameAvailable": true
}
}
}
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project": {
"get": {
"deprecated": true,
"description": "Gets all Visual Studio Team Services project resources created in the specified Team Services account.",
"operationId": "Project_ListByAccountResource",
"parameters": [
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"description": "Name of the Team Services account.",
"in": "path",
"name": "rootResourceName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The operation succeeded. The response contains the details of the Visual Studio Team Services project resources created in the specified Team Services account.",
"schema": {
"$ref": "#/definitions/ProjectResourceListResult"
}
}
},
"summary": "Projects_ListByAccountResource",
"tags": [
"Projects"
],
"x-ms-examples": {
"Get a list of project resources in the Team Services account": {
"parameters": {
"api-version": "2017-11-01-preview",
"resourceGroupName": "VS-Example-Group",
"rootResourceName": "ExampleAccount",
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {
"body": {
"value": [
{
"id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/ExampleAccount/project/ExampleProject",
"kind": "bootstrappedProject",
"location": "Central US",
"name": "ExampleProject",
"properties": {
"bootstrapPipelineTemplate": {
"applicationSource": {
"applicationConfiguration": {
"nodeJsVersion": "8.5.0"
},
"applicationType": "NodeJs",
"sourceType": "CodeTemplate"
},
"applicationTarget": {
"resources": [
{
"id": "/subscriptions/ea99dfc9-1597-48ed-85f6-9bf922591395/resourceGroups/testrg/providers/Microsoft.Web/sites/MyWebSite",
"role": "AppService"
}
],
"targetType": "WindowsAppService"
},
"authorizationDetails": {}
},
"processTemplateId": "Scrum",
"tfsUniqueIdentifier": "vstfs:///Classification/TeamProject/d921d601-0600-4e45-8600-3914ffc8811a",
"versionControlOption": "Git"
},
"tags": {},
"type": "Microsoft.VisualStudio/account/project"
}
]
}
}
}
}
}
}
},
"/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}": {
"get": {
"deprecated": true,
"description": "Gets the details of a Team Services project resource.",
"operationId": "Projects_Get",
"parameters": [
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"description": "Name of the Team Services account.",
"in": "path",
"name": "rootResourceName",
"required": true,
"type": "string"
},
{
"description": "Name of the Team Services project.",
"in": "path",
"name": "resourceName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The operation succeeded. The response contains the details of the updated team project resource.",
"schema": {
"$ref": "#/definitions/ProjectResource"
}
},
"404": {
"description": "The project or Azure subscription was not found."
}
},
"summary": "Projects_Get",
"tags": [
"Projects"
],
"x-ms-examples": {
"Get a project resource": {
"parameters": {
"api-version": "2017-11-01-preview",
"resourceGroupName": "VS-Example-Group",
"resourceName": "ExampleProject",
"rootResourceName": "ExampleAccount",
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/microsoft.visualstudio/account/ExampleAccount/project/ExampleProject",
"kind": "bootstrappedProject",
"location": "North Central US",
"name": "ExampleProject",
"properties": {
"bootstrapPipelineTemplate": {
"applicationSource": {
"applicationConfiguration": {
"nodeJsVersion": "8.5.0"
},
"applicationType": "NodeJs",
"sourceType": "CodeTemplate"
},
"applicationTarget": {
"resources": [
{
"id": "/subscriptions/ea99dfc9-1597-48ed-85f6-9bf922591395/resourceGroups/testrg/providers/Microsoft.Web/sites/MyWebSite",
"role": "AppService"
}
],
"targetType": "WindowsAppService"
},
"authorizationDetails": {}
},
"processTemplateId": "Scrum",
"tfsUniqueIdentifier": "vstfs:///Classification/TeamProject/7a4e6ba5-35bf-4667-86a4-9b598a88fa25",
"versionControlOption": "Git"
},
"tags": {},
"type": "microsoft.visualstudio/account/project"
}
},
"404": {}
}
}
}
},
"patch": {
"deprecated": true,
"description": "Updates the tags of the specified Team Services project.",
"operationId": "Projects_Update",
"parameters": [
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"description": "The request data.",
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ProjectResourceUpdateParameters"
}
},
{
"description": "Name of the Team Services account.",
"in": "path",
"name": "rootResourceName",
"required": true,
"type": "string"
},
{
"description": "Name of the Team Services project.",
"in": "path",
"name": "resourceName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The operation succeeded. The response contains the details of the updated team project resource.",
"schema": {
"$ref": "#/definitions/ProjectResource"
}
}
},
"summary": "Projects_Update",
"tags": [
"Projects"
],
"x-ms-examples": {
"Update a project resource": {
"parameters": {
"api-version": "2017-11-01-preview",
"body": {
"tags": {
"NewTag": "NewTagValue"
}
},
"resourceGroupName": "VS-Example-Group",
"resourceName": "ExampleProject",
"rootResourceName": "ExampleAccount",
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/microsoft.visualstudio/account/ExampleAccount/project/ExampleProject",
"kind": "bootstrappedProject",
"location": "North Central US",
"name": "ExampleProject",
"properties": {
"bootstrapPipelineTemplate": {
"applicationSource": {
"applicationConfiguration": {
"nodeJsVersion": "8.5.0"
},
"applicationType": "NodeJs",
"sourceType": "CodeTemplate"
},
"applicationTarget": {
"resources": [
{
"id": "/subscriptions/ea99dfc9-1597-48ed-85f6-9bf922591395/resourceGroups/testrg/providers/Microsoft.Web/sites/MyWebSite",
"role": "AppService"
}
],
"targetType": "WindowsAppService"
},
"authorizationDetails": {}
},
"processTemplateId": "Scrum",
"tfsUniqueIdentifier": "vstfs:///Classification/TeamProject/7a4e6ba5-35bf-4667-86a4-9b598a88fa25",
"versionControlOption": "Git"
},
"tags": {
"NewTag": "NewTagValue"
},
"type": "microsoft.visualstudio/account/project"
}
}
}
}
}
},
"put": {
"deprecated": true,
"description": "Creates a Team Services project in the collection with the specified name. 'VersionControlOption' and 'ProcessTemplateId' must be specified in the resource properties. Valid values for VersionControlOption: Git, Tfvc. Valid values for ProcessTemplateId: 6B724908-EF14-45CF-84F8-768B5384DA45, ADCC42AB-9882-485E-A3ED-7678F01F66BC, 27450541-8E31-4150-9947-DC59F998FC01 (these IDs correspond to Scrum, Agile, and CMMI process templates).",
"operationId": "Projects_Create",
"parameters": [
{
"description": "The request data.",
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ProjectResource"
}
},
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"description": "Name of the Team Services account.",
"in": "path",
"name": "rootResourceName",
"required": true,
"type": "string"
},
{
"description": "Name of the Team Services project.",
"in": "path",
"name": "resourceName",
"required": true,
"type": "string"
},
{
"description": "This parameter is ignored and should be set to an empty string.",
"in": "query",
"name": "validating",
"required": false,
"type": "string"
}
],
"responses": {
"200": {
"description": "The operation succeeded. The response contains the details of the created or updated team project resource.",
"schema": {
"$ref": "#/definitions/ProjectResource"
}
},
"202": {
"description": "The operation succeeded. A job to create the team project resource has been queued. The URI to monitor the status of the job is provided in the 'location' header."
}
},
"summary": "Projects_Create",
"tags": [
"Projects"
],
"x-ms-examples": {
"Create a project resource": {
"parameters": {
"api-version": "2017-11-01-preview",
"body": {
"id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/ExampleAccount/project/ExampleProject",
"location": "Central US",
"name": "ExampleProject",
"properties": {
"bootstrapPipelineTemplate": {
"applicationSource": {
"applicationConfiguration": {
"nodeJsVersion": "8.5.0"
},
"applicationType": "NodeJs",
"sourceType": "CodeTemplate"
},
"applicationTarget": {
"resources": [
{
"id": "/subscriptions/ea99dfc9-1597-48ed-85f6-9bf922591395/resourceGroups/testrg/providers/Microsoft.Web/sites/MyWebSite",
"role": "AppService"
}
],
"targetType": "WindowsAppService"
},
"authorizationDetails": {
"azure": {
"authorizationType": "authorizationToken",
"parameters": {
"token": "AAD_Access_Token_For_VSTS_Resource"
}
}
}
},
"processTemplateId": "Scrum",
"versionControlOption": "Git"
},
"tags": {},
"type": "Microsoft.VisualStudio/account/project"
},
"resourceGroupName": "VS-Example-Group",
"resourceName": "ExampleProject",
"rootResourceName": "ExampleAccount",
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/microsoft.visualstudio/account/ExampleAccount/project/ExampleProject",
"kind": "bootstrappedProject",
"location": "North Central US",
"name": "ExampleProject",
"properties": {
"bootstrapPipelineTemplate": {
"applicationSource": {
"applicationConfiguration": {
"nodeJsVersion": "8.5.0"
},
"applicationType": "NodeJs",
"sourceType": "CodeTemplate"
},
"applicationTarget": {
"resources": [
{
"id": "/subscriptions/ea99dfc9-1597-48ed-85f6-9bf922591395/resourceGroups/testrg/providers/Microsoft.Web/sites/MyWebSite",
"role": "AppService"
}
],
"targetType": "WindowsAppService"
},
"authorizationDetails": {}
},
"processTemplateId": "Scrum",
"tfsUniqueIdentifier": "vstfs:///Classification/TeamProject/7a4e6ba5-35bf-4667-86a4-9b598a88fa25",
"versionControlOption": "Git"
},
"tags": {},
"type": "microsoft.visualstudio/account/project"
}
},
"202": {
"headers": {
"location": "https://management.azure.com/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/microsoft.visualstudio/account/ExampleAccount/project/ExampleProject/subContainers/ExampleProject/status/?api-version=2017-11-01-preview&jobId=126167d2-d710-4b5d-80a8-a1d58717142d&operation=put",
"retry-after": "5"
}
}
}
}
},
"x-ms-long-running-operation": true
}
},
"/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account": {
"get": {
"description": "Gets all Visual Studio Team Services account resources under the resource group linked to the specified Azure subscription.",
"operationId": "Accounts_ListByResourceGroup",
"parameters": [
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
}
],
"responses": {
"200": {
"description": "The operation succeeded. The response contains the details of the Visual Studio Team Services account resources linked to the Azure subscription.",
"schema": {
"$ref": "#/definitions/AccountResourceListResult"
}
}
},
"summary": "Accounts_ListByResourceGroup",
"tags": [
"Accounts"
],
"x-ms-examples": {
"Get a list of account resources in the resource group": {
"parameters": {
"api-version": "2014-04-01-preview",
"resourceGroupName": "VS-Example-Group",
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {
"body": {
"value": [
{
"id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/Example",
"location": "Central US",
"name": "VS-Example-Group",
"properties": {
"AccountURL": ""
},
"tags": {},
"type": "Microsoft.VisualStudio/account"
}
]
}
}
}
}
}
}
},
"/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension": {
"get": {
"description": "Gets the details of the extension resources created within the resource group.",
"operationId": "Extensions_ListByAccount",
"parameters": [
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"description": "The name of the Visual Studio Team Services account resource.",
"in": "path",
"name": "accountResourceName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The operation succeeded. The response contains all extension resource details for the specified account.",
"schema": {
"$ref": "#/definitions/ExtensionResourceListResult"
}
}
},
"summary": "Extensions_ListByAccount",
"tags": [
"Extensions"
],
"x-ms-examples": {
"Get a list of extension resources within the resource group": {
"parameters": {
"accountResourceName": "ExampleAccount",
"api-version": "2014-04-01-preview",
"resourceGroupName": "VS-Example-Group",
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {
"body": {
"value": [
{
"id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/ExampleAccount/extension/ms.example",
"location": "Central US",
"name": "ms.example",
"plan": {
"name": "ExamplePlan",
"product": "ExampleExtensionName",
"promotionCode": "",
"publisher": "ExampleExtensionPublisher",
"version": "1.0"
},
"properties": {},
"tags": {},
"type": "Microsoft.VisualStudio/account/extension"
}
]
}
}
}
}
}
}
},
"/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName}": {
"delete": {
"description": "Removes an extension resource registration for a Visual Studio Team Services account.",
"operationId": "Extensions_Delete",
"parameters": [
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"description": "The name of the Visual Studio Team Services account resource.",
"in": "path",
"name": "accountResourceName",
"required": true,
"type": "string"
},
{
"description": "The name of the extension.",
"in": "path",
"name": "extensionResourceName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The operation succeeded. The extension resource has been deleted for the specified account."
}
},
"summary": "Extensions_Delete",
"tags": [
"Extensions"
],
"x-ms-examples": {
"Delete an extension resource": {
"parameters": {
"accountResourceName": "Example",
"api-version": "2014-04-01-preview",
"extensionResourceName": "ms.example",
"resourceGroupName": "VS-Example-Group",
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {}
}
}
}
},
"get": {
"description": "Gets the details of an extension associated with a Visual Studio Team Services account resource.",
"operationId": "Extensions_Get",
"parameters": [
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"description": "The name of the Visual Studio Team Services account resource.",
"in": "path",
"name": "accountResourceName",
"required": true,
"type": "string"
},
{
"description": "The name of the extension.",
"in": "path",
"name": "extensionResourceName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The operation succeeded. The response contains the extension resource details for the specified account.",
"schema": {
"$ref": "#/definitions/ExtensionResource"
}
},
"404": {
"description": "The specified extension has no plans defined."
}
},
"summary": "Extensions_Get",
"tags": [
"Extensions"
],
"x-ms-examples": {
"Get an extension resource": {
"parameters": {
"accountResourceName": "ExampleAccount",
"api-version": "2014-04-01-preview",
"extensionResourceName": "ms.example",
"resourceGroupName": "VS-Example-Group",
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/ExampleAccount/extension/ms.example",
"location": "Central US",
"name": "ms.example",
"plan": {
"name": "ExamplePlan",
"product": "ExampleExtensionName",
"promotionCode": "",
"publisher": "ExampleExtensionPublisher",
"version": "1.0"
},
"properties": {},
"tags": {},
"type": "Microsoft.VisualStudio/account/extension"
}
},
"404": {}
}
}
}
},
"patch": {
"description": "Updates an existing extension registration for the Visual Studio Team Services account.",
"operationId": "Extensions_Update",
"parameters": [
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"description": "An object containing additional information related to the extension request.",
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ExtensionResourceRequest"
}
},
{
"description": "The name of the Visual Studio Team Services account resource.",
"in": "path",
"name": "accountResourceName",
"required": true,
"type": "string"
},
{
"description": "The name of the extension.",
"in": "path",
"name": "extensionResourceName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The operation succeeded. The extension resource was updated for the specified account.",
"schema": {
"$ref": "#/definitions/ExtensionResource"
}
}
},
"summary": "Extensions_Update",
"tags": [
"Extensions"
],
"x-ms-examples": {
"Update an extension resource": {
"parameters": {
"accountResourceName": "ExampleAccount",
"api-version": "2014-04-01-preview",
"body": {
"location": "Central US",
"plan": {
"name": "ExamplePlan",
"product": "ExampleExtensionName",
"promotionCode": "",
"publisher": "ExampleExtensionPublisher",
"version": "1.0"
},
"properties": {},
"tags": {}
},
"extensionResourceName": "Example",
"resourceGroupName": "VS-Example-Group",
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/ExampleAccount/extension/ms.example",
"location": "Central US",
"name": "ms.example",
"plan": {
"name": "ExamplePlan",
"product": "ExampleExtensionName",
"promotionCode": "",
"publisher": "ExampleExtensionPublisher",
"version": "1.0"
},
"properties": {},
"tags": {},
"type": "Microsoft.VisualStudio/account/extension"
}
}
}
}
}
},
"put": {
"description": "Registers the extension with a Visual Studio Team Services account.",
"operationId": "Extensions_Create",
"parameters": [
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"description": "An object containing additional information related to the extension request.",
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/ExtensionResourceRequest"
}
},
{
"description": "The name of the Visual Studio Team Services account resource.",
"in": "path",
"name": "accountResourceName",
"required": true,
"type": "string"
},
{
"description": "The name of the extension.",
"in": "path",
"name": "extensionResourceName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The operation succeeded. The extension resource was created for the specified account.",
"schema": {
"$ref": "#/definitions/ExtensionResource"
}
}
},
"summary": "Extensions_Create",
"tags": [
"Extensions"
],
"x-ms-examples": {
"Create an extension resource": {
"parameters": {
"accountResourceName": "ExampleAccount",
"api-version": "2014-04-01-preview",
"body": {
"location": "Central US",
"plan": {
"name": "ExamplePlan",
"product": "ExampleExtensionName",
"promotionCode": "",
"publisher": "ExampleExtensionPublisher",
"version": "1.0"
},
"properties": {},
"tags": {}
},
"extensionResourceName": "ms.example",
"resourceGroupName": "VS-Example-Group",
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/ExampleAccount/extension/ms.example",
"location": "Central US",
"name": "ms.example",
"plan": {
"name": "ExamplePlan",
"product": "ExampleExtensionName",
"promotionCode": "",
"publisher": "ExampleExtensionPublisher",
"version": "1.0"
},
"properties": {},
"tags": {},
"type": "Microsoft.VisualStudio/account/extension"
}
}
}
}
}
}
},
"/subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}": {
"delete": {
"description": "Deletes a Visual Studio Team Services account resource.",
"operationId": "Accounts_Delete",
"parameters": [
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"description": "Name of the resource.",
"in": "path",
"name": "resourceName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The operation succeeded. The Visual Studio Team Services account resource was deleted."
}
},
"summary": "Accounts_Delete",
"tags": [
"Accounts"
],
"x-ms-examples": {
"Delete an account resource": {
"parameters": {
"api-version": "2014-04-01-preview",
"resourceGroupName": "VS-Example-Group",
"resourceName": "Example",
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {}
}
}
}
},
"get": {
"description": "Gets the Visual Studio Team Services account resource details.",
"operationId": "Accounts_Get",
"parameters": [
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"description": "Name of the resource.",
"in": "path",
"name": "resourceName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The operation succeeded. The response contains the details of the Visual Studio Team Services account resource.",
"schema": {
"$ref": "#/definitions/AccountResource"
}
},
"404": {
"description": "The Visual Studio Team Services account does not exist."
}
},
"summary": "Accounts_Get",
"tags": [
"Accounts"
],
"x-ms-examples": {
"Get an account resource": {
"parameters": {
"api-version": "2014-04-01-preview",
"resourceGroupName": "VS-Example-Group",
"resourceName": "Example",
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/Example",
"location": "Central US",
"name": "VS-Example-Group",
"properties": {
"AccountURL": ""
},
"tags": {},
"type": "Microsoft.VisualStudio/account"
}
},
"404": {}
}
}
}
},
"put": {
"description": "Creates or updates a Visual Studio Team Services account resource.",
"operationId": "Accounts_CreateOrUpdate",
"parameters": [
{
"$ref": "#/parameters/resourceGroupNameParameter"
},
{
"$ref": "#/parameters/subscriptionIdParameter"
},
{
"$ref": "#/parameters/apiVersionParameter"
},
{
"description": "The request data.",
"in": "body",
"name": "body",
"required": true,
"schema": {
"$ref": "#/definitions/AccountResourceRequest"
}
},
{
"description": "Name of the resource.",
"in": "path",
"name": "resourceName",
"required": true,
"type": "string"
}
],
"responses": {
"200": {
"description": "The operation succeeded. The Visual Studio Team Services account resource was created or updated.",
"schema": {
"$ref": "#/definitions/AccountResource"
}
},
"404": {
"description": "The Visual Studio Team Services account does not exist."
}
},
"summary": "Accounts_CreateOrUpdate",
"tags": [
"Accounts"
],
"x-ms-examples": {
"Create an account resource": {
"parameters": {
"api-version": "2014-04-01-preview",
"body": {
"accountName": "Example",
"location": "Central US",
"operationType": "create",
"properties": {},
"tags": {}
},
"resourceGroupName": "VS-Example-Group",
"resourceName": "Example",
"subscriptionId": "0de7f055-dbea-498d-8e9e-da287eedca90"
},
"responses": {
"200": {
"body": {
"id": "/subscriptions/0de7f055-dbea-498d-8e9e-da287eedca90/resourceGroups/VS-Example-Group/providers/Microsoft.VisualStudio/account/Example",
"location": "Central US",
"name": "VS-Example-Group",
"properties": {
"AccountURL": ""
},
"tags": {},
"type": "Microsoft.VisualStudio/account"
}
},
"404": {}
}
}
}
}
}
},
"definitions": {
"AccountResource": {
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"description": "The response to an account resource GET request.",
"properties": {
"properties": {
"additionalProperties": {
"type": "string"
},
"description": "Resource properties.",
"type": "object",
"x-ms-client-flatten": true
}
},
"type": "object"
},
"AccountResourceListResult": {
"description": "The response to an account resource list GET request.",
"properties": {
"value": {
"description": "Array of resource details.",
"items": {
"$ref": "#/definitions/AccountResource"
},
"type": "array"
}
},
"type": "object"
},
"AccountResourceRequest": {
"description": "The body of a PUT request to modify a Visual Studio account resource.",
"properties": {
"accountName": {
"description": "The account name.",
"type": "string"
},
"location": {
"description": "The Azure instance location.",
"type": "string"
},
"operationType": {
"description": "The type of the operation.",
"enum": [
"unknown",
"create",
"update",
"link"
],
"x-ms-enum": {
"name": "AccountResourceRequestOperationType"
}
},
"properties": {
"additionalProperties": {
"type": "string"
},
"description": "The custom properties of the resource.",
"type": "object",
"x-ms-client-flatten": true
},
"tags": {
"additionalProperties": {
"type": "string"
},
"description": "The custom tags of the resource.",
"type": "object"
}
},
"type": "object"
},
"ApplicationSource": {
"description": "Defines the source application for a VSTS pipeline.",
"discriminator": "sourceType",
"properties": {
"applicationConfiguration": {
"additionalProperties": {
"type": "string"
},
"description": "Application specific properties.",
"type": "object"
},
"applicationType": {
"description": "Type of application.",
"enum": [
"AspDotNet",
"AspDotNetCore",
"NodeJs"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "ApplicationType"
}
},
"sourceType": {
"description": "Type of application source.",
"enum": [
"CodeTemplate",
"CodeRepository"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "ApplicationSourceType"
}
}
},
"required": [
"sourceType",
"applicationType"
],
"type": "object"
},
"ApplicationTarget": {
"description": "Defines the target resources for a VSTS pipeline.",
"properties": {
"resources": {
"description": "List of target resources.",
"items": {
"$ref": "#/definitions/TargetResource"
},
"type": "array"
},
"targetType": {
"description": "Type of target.",
"enum": [
"WindowsAppService"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "ApplicationTargetType"
}
}
},
"required": [
"targetType",
"resources"
],
"type": "object"
},
"Authorization": {
"description": "Defines the authorization type and its parameters.",
"properties": {
"authorizationType": {
"description": "Type of authorization.",
"enum": [
"authorizationToken",
"personalAccessToken"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "AuthorizationType"
}
},
"parameters": {
"additionalProperties": {
"type": "string"
},
"description": "Authorization parameters corresponding to the authorization type.",
"type": "object"
}
},
"required": [
"authorizationType"
],
"type": "object"
},
"CheckNameAvailabilityParameter": {
"description": "The body of a POST request to check name availability.",
"properties": {
"resourceName": {
"description": "The name of the resource to check availability for.",
"type": "string"
},
"resourceType": {
"description": "The type of resource to check availability for.",
"type": "string"
}
},
"type": "object"
},
"CheckNameAvailabilityResult": {
"description": "The response to a name availability request.",
"properties": {
"message": {
"description": "The message describing the detailed reason.",
"type": "string"
},
"nameAvailable": {
"description": "The value which indicates whether the provided name is available.",
"type": "boolean"
}
},
"type": "object"
},
"CodeRepository": {
"description": "Defines a code repository.",
"properties": {
"authorizationReference": {
"description": "Reference to the authorization info used to access the code repository. This value is used as a key into the global authorization details dictionary.",
"type": "string"
},
"defaultBranch": {
"description": "Default branch for which continuous integration should be configured in the VSTS pipeline.",
"type": "string"
},
"id": {
"description": "Unique identifier of the code repository.",
"type": "string"
},
"properties": {
"additionalProperties": {
"type": "string"
},
"description": "Repository-specific properties.",
"type": "object"
},
"repositoryType": {
"description": "Type of code repository.",
"enum": [
"gitHub",
"vstsGit"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "CodeRepositoryType"
}
}
},
"required": [
"repositoryType",
"id",
"defaultBranch"
],
"type": "object"
},
"CodeRepositoryApplicationSource": {
"allOf": [
{
"$ref": "#/definitions/ApplicationSource"
}
],
"description": "Defines the source application, when it resides in a code repository.",
"properties": {
"repository": {
"$ref": "#/definitions/CodeRepository",
"description": "Code repository where the application source resides."
}
},
"required": [
"repository"
],
"type": "object",
"x-ms-discriminator-value": "CodeRepository"
},
"CodeTemplateApplicationSource": {
"allOf": [
{
"$ref": "#/definitions/ApplicationSource"
}
],
"description": "Defines the source application template.",
"type": "object",
"x-ms-discriminator-value": "CodeTemplate"
},
"ExtensionResource": {
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"description": "The response to an extension resource GET request.",
"properties": {
"plan": {
"$ref": "#/definitions/ExtensionResourcePlan",
"description": "The extension plan that was purchased."
},
"properties": {
"additionalProperties": {
"type": "string"
},
"description": "Resource properties.",
"type": "object"
}
},
"type": "object"
},
"ExtensionResourceListResult": {
"description": "The response to an extension resource list GET request.",
"properties": {
"value": {
"description": "Array of extension resource details.",
"items": {
"$ref": "#/definitions/ExtensionResource"
},
"type": "array"
}
},
"type": "object"
},
"ExtensionResourcePlan": {
"description": "Plan data for an extension resource.",
"properties": {
"name": {
"description": "Name of the plan.",
"type": "string"
},
"product": {
"description": "Product name.",
"type": "string"
},
"promotionCode": {
"description": "Optional: the promotion code associated with the plan.",
"type": "string"
},
"publisher": {
"description": "Name of the extension publisher.",
"type": "string"
},
"version": {
"description": "A string that uniquely identifies the plan version.",
"type": "string"
}
},
"type": "object"
},
"ExtensionResourceRequest": {
"description": "The body of an extension resource PUT request.",
"properties": {
"location": {
"description": "The Azure region of the Visual Studio account associated with this request (i.e 'southcentralus'.)",
"type": "string"
},
"plan": {
"$ref": "#/definitions/ExtensionResourcePlan",
"description": "Extended information about the plan being purchased for this extension resource."
},
"properties": {
"additionalProperties": {
"type": "string"
},
"description": "A dictionary of extended properties. This property is currently unused.",
"type": "object",
"x-ms-client-flatten": true
},
"tags": {
"additionalProperties": {
"type": "string"
},
"description": "A dictionary of user-defined tags to be stored with the extension resource.",
"type": "object"
}
},
"type": "object"
},
"Operation": {
"description": "Properties of an operation supported by the resource provider.",
"properties": {
"display": {
"$ref": "#/definitions/OperationProperties",
"description": "The properties of the resource operation."
},
"name": {
"description": "The name of the resource operation.",
"type": "string"
}
},
"type": "object"
},
"OperationListResult": {
"description": "Container for a list of operations supported by a resource provider.",
"properties": {
"value": {
"description": "A list of operations supported by a resource provider.",
"items": {
"$ref": "#/definitions/Operation"
},
"type": "array"
}
},
"type": "object"
},
"OperationProperties": {
"description": "Properties of an operation supported by the resource provider.",
"properties": {
"description": {
"description": "The description of the resource operation.",
"type": "string"
},
"operation": {
"description": "The operation name.",
"type": "string"
},
"provider": {
"description": "The provider name.",
"type": "string"
},
"resource": {
"description": "The resource name.",
"type": "string"
}
},
"type": "object"
},
"PipelineTemplate": {
"description": "Defines a VSTS pipeline template.",
"properties": {
"applicationSource": {
"$ref": "#/definitions/ApplicationSource",
"description": "Source application for the VSTS pipeline."
},
"applicationTarget": {
"$ref": "#/definitions/ApplicationTarget",
"description": "Target resources for the VSTS pipeline."
},
"authorizationDetails": {
"additionalProperties": {
"$ref": "#/definitions/Authorization"
},
"description": "Global dictionary of authorization details used by the pipeline, with a friendly name as key. Individual resource in the pipeline can reference to a specific authorization info using the friendly name.",
"type": "object"
}
},
"required": [
"applicationSource",
"applicationTarget",
"authorizationDetails"
],
"type": "object"
},
"ProjectResource": {
"allOf": [
{
"$ref": "#/definitions/Resource"
}
],
"description": "A Visual Studio Team Services project resource.",
"properties": {
"kind": {
"description": "Kind of project resource",
"enum": [
"project",
"bootstrappedProject"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "ProjectResourceKind"
}
},
"properties": {
"$ref": "#/definitions/ProjectResourceProperties",
"description": "Custom properties of project resource.",
"x-ms-client-flatten": true
}
},
"type": "object"
},
"ProjectResourceListResult": {
"description": "The response to a request to list Team Services project resources in a resource group/account.",
"properties": {
"value": {
"description": "List of project resource details.",
"items": {
"$ref": "#/definitions/ProjectResource"
},
"type": "array"
}
},
"type": "object"
},
"ProjectResourceProperties": {
"description": "Defines the custom properties of project resource.",
"properties": {
"bootstrapPipelineTemplate": {
"$ref": "#/definitions/PipelineTemplate",
"description": "Template used to configure a bootstrap pipeline in the VSTS project."
},
"ownerUpn": {
"description": "Optional UPN of the owner, on-behalf-of whom the project is being created.",
"type": "string"
},
"processTemplateId": {
"description": "Process template to use in the project.",
"enum": [
"Scrum",
"Agile",
"Cmmi"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "ProcessTemplate"
}
},
"tfsUniqueIdentifier": {
"description": "Unique identifier of the VSTS project.",
"readOnly": true,
"type": "string"
},
"versionControlOption": {
"description": "Version control to use for the default repo created in the project.",
"enum": [
"Git",
"Tfvc"
],
"type": "string",
"x-ms-enum": {
"modelAsString": true,
"name": "VersionControlOption"
}
}
},
"type": "object"
},
"ProjectResourceUpdateParameters": {
"description": "The parameters to update a project resource.",
"properties": {
"tags": {
"additionalProperties": {
"type": "string"
},
"description": "The custom tags to be set on the resource.",
"type": "object"
}
},
"type": "object"
},
"Resource": {
"description": "A generic Azure Resource Manager resource.",
"properties": {
"id": {
"description": "Unique identifier of the resource.",
"readOnly": true,
"type": "string"
},
"location": {
"description": "Resource location.",
"type": "string"
},
"name": {
"description": "Resource name.",
"readOnly": true,
"type": "string"
},
"tags": {
"additionalProperties": {
"type": "string"
},
"description": "Resource tags.",
"type": "object"
},
"type": {
"description": "Resource type.",
"readOnly": true,
"type": "string"
}
},
"type": "object",
"x-ms-azure-resource": true
},
"TargetResource": {
"description": "Defines a single resource used as target for a VSTS pipeline.",
"properties": {
"authorizationReference": {
"description": "Reference to the authorization info used to access the target resource. This value is used as a key into the global authorization details dictionary.",
"type": "string"
},
"id": {
"description": "Unique identifier of the target resource.",
"type": "string"
},
"role": {
"description": "Role of the target resource.",
"type": "string"
}
},
"required": [
"id",
"role"
],
"type": "object"
}
}
}