swagger: '2.0' info: title: Microsoft Azure Visual Studio Resource Provider Client version: 2014-04-01-preview 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. host: management.azure.com schemes: - https consumes: - application/json produces: - application/json securityDefinitions: azure_auth: type: oauth2 description: Azure Active Directory OAuth2 Flow flow: implicit authorizationUrl: https://login.microsoftonline.com/common/oauth2/authorize scopes: user_impersonation: impersonate your user account security: - azure_auth: - user_impersonation paths: /providers/microsoft.visualstudio/operations: get: tags: - Operations summary: Microsoft Azure Operations List description: >- Gets the details of all operations possible on the Microsoft.VisualStudio resource provider. operationId: microsoftAzureOperationsList produces: - application/json responses: '200': description: >- The operation succeeded. The response contains the possible operations on the Microsoft.VisualStudio resource provider. schema: $ref: '#/definitions/OperationListResult' x-ms-examples: Get a list of operations for this resource provider: $ref: ./examples/GetOperations.json /subscriptions/{subscriptionId}/providers/microsoft.visualstudio/checkNameAvailability: post: tags: - Accounts summary: Microsoft Azure Accounts Checknameavailability 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: microsoftAzureAccountsChecknameavailability parameters: - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: body name: body description: Parameters describing the name to check availability for. 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' x-ms-examples: Check availability of an account name: $ref: ./examples/CheckNameAvailability.json /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account: get: tags: - Accounts summary: Microsoft Azure Accounts Listbyresourcegroup description: >- Gets all Visual Studio Team Services account resources under the resource group linked to the specified Azure subscription. operationId: microsoftAzureAccountsListbyresourcegroup produces: - application/json 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' x-ms-examples: Get a list of account resources in the resource group: $ref: ./examples/GetResources_List.json ? /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension : get: tags: - Extensions summary: Microsoft Azure Extensions Listbyaccount description: >- Gets the details of the extension resources created within the resource group. operationId: microsoftAzureExtensionsListbyaccount produces: - application/json parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: path name: accountResourceName description: The name of the Visual Studio Team Services account resource. 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' x-ms-examples: Get a list of extension resources within the resource group: $ref: ./examples/GetExtensionResources_List.json ? /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{accountResourceName}/extension/{extensionResourceName} : put: tags: - Extensions summary: Microsoft Azure Extensions Create description: Registers the extension with a Visual Studio Team Services account. operationId: microsoftAzureExtensionsCreate parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: body name: body description: >- An object containing additional information related to the extension request. required: true schema: $ref: '#/definitions/ExtensionResourceRequest' - in: path name: accountResourceName description: The name of the Visual Studio Team Services account resource. required: true type: string - in: path name: extensionResourceName description: The name of the extension. required: true type: string responses: '200': description: >- The operation succeeded. The extension resource was created for the specified account. schema: $ref: '#/definitions/ExtensionResource' x-ms-examples: Create an extension resource: $ref: ./examples/CreateExtensionResource.json delete: tags: - Extensions summary: Microsoft Azure Extensions Delete description: >- Removes an extension resource registration for a Visual Studio Team Services account. operationId: microsoftAzureExtensionsDelete parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: path name: accountResourceName description: The name of the Visual Studio Team Services account resource. required: true type: string - in: path name: extensionResourceName description: The name of the extension. required: true type: string responses: '200': description: >- The operation succeeded. The extension resource has been deleted for the specified account. x-ms-examples: Delete an extension resource: $ref: ./examples/DeleteExtensionResource.json get: tags: - Extensions summary: Microsoft Azure Extensions Get description: >- Gets the details of an extension associated with a Visual Studio Team Services account resource. operationId: microsoftAzureExtensionsGet produces: - application/json parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: path name: accountResourceName description: The name of the Visual Studio Team Services account resource. required: true type: string - in: path name: extensionResourceName description: The name of the extension. 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. x-ms-examples: Get an extension resource: $ref: ./examples/GetExtensionResource.json patch: tags: - Extensions summary: Microsoft Azure Extensions Update description: >- Updates an existing extension registration for the Visual Studio Team Services account. operationId: microsoftAzureExtensionsUpdate parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: body name: body description: >- An object containing additional information related to the extension request. required: true schema: $ref: '#/definitions/ExtensionResourceRequest' - in: path name: accountResourceName description: The name of the Visual Studio Team Services account resource. required: true type: string - in: path name: extensionResourceName description: The name of the extension. required: true type: string responses: '200': description: >- The operation succeeded. The extension resource was updated for the specified account. schema: $ref: '#/definitions/ExtensionResource' x-ms-examples: Update an extension resource: $ref: ./examples/UpdateExtensionResource.json /subscriptions/{subscriptionId}/resourcegroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{resourceName}: put: tags: - Accounts summary: Microsoft Azure Accounts Createorupdate description: Creates or updates a Visual Studio Team Services account resource. operationId: microsoftAzureAccountsCreateorupdate parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: body name: body description: The request data. required: true schema: $ref: '#/definitions/AccountResourceRequest' - in: path name: resourceName description: Name of the resource. 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. x-ms-examples: Create an account resource: $ref: ./examples/CreateResource.json delete: tags: - Accounts summary: Microsoft Azure Accounts Delete description: Deletes a Visual Studio Team Services account resource. operationId: microsoftAzureAccountsDelete parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: path name: resourceName description: Name of the resource. required: true type: string responses: '200': description: >- The operation succeeded. The Visual Studio Team Services account resource was deleted. x-ms-examples: Delete an account resource: $ref: ./examples/DeleteResource.json get: tags: - Accounts summary: Microsoft Azure Accounts Get description: Gets the Visual Studio Team Services account resource details. operationId: microsoftAzureAccountsGet parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: path name: resourceName description: Name of the resource. 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. x-ms-examples: Get an account resource: $ref: ./examples/GetResource.json patch: tags: - Accounts summary: Microsoft Azure Accounts Update description: Updates tags for Visual Studio Team Services account resource. operationId: microsoftAzureAccountsUpdate parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: body name: body description: The request data. required: true schema: $ref: '#/definitions/AccountTagRequest' - in: path name: resourceName description: Name of the resource. required: true type: string responses: '200': description: >- The operation succeeded. The Visual Studio Team Services account resource was updated. schema: $ref: '#/definitions/AccountResource' '404': description: The Visual Studio Team Services account does not exist. x-ms-examples: Create an account resource: $ref: ./examples/UpdateTags.json ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project : get: deprecated: true tags: - Projects summary: Microsoft Azure Projects Listbyresourcegroup description: >- Gets all Visual Studio Team Services project resources created in the specified Team Services account. operationId: microsoftAzureProjectsListbyresourcegroup parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: path name: rootResourceName description: Name of the Team Services account. 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' x-ms-examples: Get a list of project resources in the Team Services account: $ref: ./examples/GetProjectResources_List.json ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName} : put: deprecated: true tags: - Projects summary: Microsoft Azure Projects Create 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: microsoftAzureProjectsCreate parameters: - in: body name: body description: The request data. required: true schema: $ref: '#/definitions/ProjectResource' - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: path name: rootResourceName description: Name of the Team Services account. required: true type: string - in: path name: resourceName description: Name of the Team Services project. required: true type: string - in: query name: validating description: This parameter is ignored and should be set to an empty string. 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. x-ms-long-running-operation: true x-ms-examples: Create a project resource: $ref: ./examples/CreateProjectResource.json get: deprecated: true tags: - Projects summary: Microsoft Azure Projects Get description: Gets the details of a Team Services project resource. operationId: microsoftAzureProjectsGet parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: path name: rootResourceName description: Name of the Team Services account. required: true type: string - in: path name: resourceName description: Name of the Team Services project. 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. x-ms-examples: Get a project resource: $ref: ./examples/GetProjectResource.json patch: deprecated: true tags: - Projects summary: Microsoft Azure Projects Update description: Updates the tags of the specified Team Services project. operationId: microsoftAzureProjectsUpdate parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: body name: body description: The request data. required: true schema: $ref: '#/definitions/ProjectResource' - in: path name: rootResourceName description: Name of the Team Services account. required: true type: string - in: path name: resourceName description: Name of the Team Services project. 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' x-ms-examples: Update a project resource: $ref: ./examples/UpdateProjectResource.json ? /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/microsoft.visualstudio/account/{rootResourceName}/project/{resourceName}/subContainers/{subContainerName}/status : get: deprecated: true tags: - Projects summary: Microsoft Azure Projects Getjobstatus description: Gets the status of the project resource creation job. operationId: microsoftAzureProjectsGetjobstatus parameters: - $ref: '#/parameters/resourceGroupNameParameter' - $ref: '#/parameters/subscriptionIdParameter' - $ref: '#/parameters/apiVersionParameter' - in: path name: rootResourceName description: Name of the Team Services account. required: true type: string - in: path name: resourceName description: Name of the Team Services project. required: true type: string - in: path name: subContainerName description: This parameter should be set to the resourceName. required: true type: string - in: query name: operation description: The operation type. The only supported value is 'put'. required: true type: string - in: query name: jobId description: The job identifier. required: false type: string format: uuid responses: '200': description: >- The operation succeeded. The response contains the details of the newly created team project resource. schema: $ref: '#/definitions/ProjectResource' '202': description: The team project creation job is still running. x-ms-examples: Get the status of the project creation job: $ref: ./examples/GetProjectJobStatus.json definitions: AccountResource: description: The response to an account resource GET request. type: object allOf: - $ref: '#/definitions/Resource' properties: properties: description: Resource properties. type: object additionalProperties: type: string x-ms-client-flatten: true AccountResourceListResult: description: The response to an account resource list GET request. type: object properties: value: description: Array of resource details. type: array items: $ref: '#/definitions/AccountResource' AccountTagRequest: description: >- The body of a Patch request to add tags to a Visual Studio account resource. type: object properties: tags: description: The custom tags of the resource. type: object additionalProperties: type: string AccountResourceRequest: description: The body of a PUT request to modify a Visual Studio account resource. type: object 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: description: The custom properties of the resource. type: object additionalProperties: type: string x-ms-client-flatten: true tags: description: The custom tags of the resource. type: object additionalProperties: type: string CheckNameAvailabilityParameter: description: The body of a POST request to check name availability. type: object 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 CheckNameAvailabilityResult: description: The response to a name availability request. type: object 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 ExtensionResource: description: The response to an extension resource GET request. type: object allOf: - $ref: '#/definitions/Resource' properties: plan: description: The extension plan that was purchased. $ref: '#/definitions/ExtensionResourcePlan' properties: description: Resource properties. type: object additionalProperties: type: string ExtensionResourceListResult: description: The response to an extension resource list GET request. type: object properties: value: description: Array of extension resource details. type: array items: $ref: '#/definitions/ExtensionResource' ExtensionResourcePlan: description: Plan data for an extension resource. type: object 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 ExtensionResourceRequest: description: The body of an extension resource PUT request. type: object properties: location: description: >- The Azure region of the Visual Studio account associated with this request (i.e 'southcentralus'.) type: string plan: description: >- Extended information about the plan being purchased for this extension resource. $ref: '#/definitions/ExtensionResourcePlan' properties: description: >- A dictionary of extended properties. This property is currently unused. type: object additionalProperties: type: string x-ms-client-flatten: true tags: description: >- A dictionary of user-defined tags to be stored with the extension resource. type: object additionalProperties: type: string Operation: description: Properties of an operation supported by the resource provider. type: object properties: display: description: The properties of the resource operation. $ref: '#/definitions/OperationProperties' name: description: The name of the resource operation. type: string OperationListResult: description: Container for a list of operations supported by a resource provider. type: object properties: value: description: A list of operations supported by a resource provider. type: array items: $ref: '#/definitions/Operation' OperationProperties: description: Properties of an operation supported by the resource provider. type: object 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 Resource: description: A generic Azure Resource Manager resource. x-ms-azure-resource: true type: object 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: description: Resource tags. type: object additionalProperties: type: string type: description: Resource type. readOnly: true type: string ProjectResource: description: A Visual Studio Team Services project resource. type: object allOf: - $ref: '#/definitions/Resource' properties: properties: description: Key/value pair of resource properties. type: object additionalProperties: type: string x-ms-client-flatten: true ProjectResourceListResult: description: >- The response to a request to list Team Services project resources in a resource group/account. type: object properties: value: description: List of project resource details. type: array items: $ref: '#/definitions/ProjectResource' parameters: subscriptionIdParameter: name: subscriptionId in: path description: The Azure subscription identifier. required: true type: string resourceGroupNameParameter: name: resourceGroupName in: path required: true type: string x-ms-parameter-location: method description: Name of the resource group within the Azure subscription. apiVersionParameter: name: api-version in: query description: API Version required: true type: string tags: - name: Accounts - name: Extensions - name: Operations - name: Projects