# Azure Dev Test Labs management API

> Azure Dev Test Labs management API on Apizie: 132 endpoints (List the operations for the provider, List labs in a subscription., Get operation., List schedules in a subscription., …) returned as clean JSON through one API key. Send your own provider key in the x-upstream-key header. Call it over REST at https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `cloud:azure-arm-devtestlabs`
- Category: Cloud
- Status: byok
- Source: https://learn.microsoft.com/rest/api/azure/
- Page: https://zieapi.vercel.app/api/cloud/azure-arm-devtestlabs
- OpenAPI: https://zieapi.vercel.app/api/cloud/azure-arm-devtestlabs/openapi.json

Azure Resource Manager API for Dev Test Labs: manage these Azure resources in your subscription with a Microsoft Entra access token.

## Endpoints

### List the operations for the provider
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/provider-operations-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |

### List labs in a subscription.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/labs-list-by-subscription` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=defaultStorageAccount)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get operation.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/operations-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| locationName | string | yes | The name of the location. |
| name | string | yes | The name of the operation. |

### List schedules in a subscription.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/global-schedules-list-by-subscription` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=status)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### List labs in a resource group.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/labs-list-by-resource-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=defaultStorageAccount)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get lab.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/labs-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| name | string | yes | The name of the lab. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=defaultStorageAccount)' |

### Create or replace an existing lab. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/labs-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| name | string | yes | The name of the lab. |
| body | object | yes | JSON request body |

### Allows modifying tags of labs. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/labs-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| name | string | yes | The name of the lab. |
| body | object | yes | JSON request body |

### Delete lab. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/labs-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| name | string | yes | The name of the lab. |

### List artifact sources in a given lab.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/artifact-sources-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=displayName)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get artifact source.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/artifact-sources-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the artifact source. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=displayName)' |

### Create or replace an existing artifact source.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/artifact-sources-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the artifact source. |
| body | object | yes | JSON request body |

### Allows modifying tags of artifact sources. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/artifact-sources-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the artifact source. |
| body | object | yes | JSON request body |

### Delete artifact source.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/artifact-sources-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the artifact source. |

### List azure resource manager templates in a given artifact source.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/arm-templates-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| artifactSourceName | string | yes | The name of the artifact source. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=displayName)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get azure resource manager template.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/arm-templates-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| artifactSourceName | string | yes | The name of the artifact source. |
| name | string | yes | The name of the azure resource manager template. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=displayName)' |

### List artifacts in a given artifact source.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/artifacts-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| artifactSourceName | string | yes | The name of the artifact source. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=title)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get artifact.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/artifacts-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| artifactSourceName | string | yes | The name of the artifact source. |
| name | string | yes | The name of the artifact. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=title)' |

### Generates an ARM template for the given artifact, uploads the required files to a storage account, and…
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/artifacts-generate-arm-template` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| artifactSourceName | string | yes | The name of the artifact source. |
| name | string | yes | The name of the artifact. |
| body | object | yes | JSON request body |

### Claim a random claimable virtual machine in the lab. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/labs-claim-any-vm` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| name | string | yes | The name of the lab. |

### Get cost.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/costs-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the cost. |
| $expand | string | no | Specify the $expand query. Example: 'properties($expand=labCostDetails)' |

### Create or replace an existing cost.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/costs-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the cost. |
| body | object | yes | JSON request body |

### Create virtual machines in a lab. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/labs-create-environment` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| name | string | yes | The name of the lab. |
| body | object | yes | JSON request body |

### List custom images in a given lab.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/custom-images-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=vm)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get custom image.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/custom-images-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the CustomImage |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=vm)' |

### Create or replace an existing custom image. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/custom-images-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the CustomImage |
| body | object | yes | JSON request body |

### Allows modifying tags of custom images. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/custom-images-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the CustomImage |
| body | object | yes | JSON request body |

### Delete custom image. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/custom-images-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the CustomImage |

### Exports the lab resource usage into a storage account This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/labs-export-resource-usage` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| name | string | yes | The name of the lab. |
| body | object | yes | JSON request body |

### List formulas in a given lab.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/formulas-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=description)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get formula.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/formulas-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the formula. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=description)' |

### Create or replace an existing formula. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/formulas-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the formula. |
| body | object | yes | JSON request body |

### Allows modifying tags of formulas. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/formulas-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the formula. |
| body | object | yes | JSON request body |

### Delete formula.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/formulas-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the formula. |

### List gallery images in a given lab.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/gallery-images-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=displayName)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Generate a URI for uploading custom disk images to a Lab.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/labs-generate-upload-uri` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| name | string | yes | The name of the lab. |
| body | object | yes | JSON request body |

### Import a virtual machine into a different lab. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/labs-import-virtual-machine` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| name | string | yes | The name of the lab. |
| body | object | yes | JSON request body |

### List disk images available for custom image creation.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/labs-list-vhds` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| name | string | yes | The name of the lab. |

### List notification channels in a given lab.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/notification-channels-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=webHookUrl)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get notification channel.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/notification-channels-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the notification channel. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=webHookUrl)' |

### Create or replace an existing notification channel.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/notification-channels-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the notification channel. |
| body | object | yes | JSON request body |

### Allows modifying tags of notification channels. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/notification-channels-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the notification channel. |
| body | object | yes | JSON request body |

### Delete notification channel.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/notification-channels-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the notification channel. |

### Send notification to provided channel.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/notification-channels-notify` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the notification channel. |
| body | object | yes | JSON request body |

### Evaluates lab policy.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/policy-sets-evaluate-policies` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the PolicySet |
| body | object | yes | JSON request body |

### List policies in a given policy set.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/policies-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| policySetName | string | yes | policysets |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=description)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get policy.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/policies-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| policySetName | string | yes | policysets |
| name | string | yes | The name of the Policy |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=description)' |

### Create or replace an existing policy.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/policies-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| policySetName | string | yes | policysets |
| name | string | yes | The name of the Policy |
| body | object | yes | JSON request body |

### Allows modifying tags of policies. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/policies-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| policySetName | string | yes | policysets |
| name | string | yes | The name of the Policy |
| body | object | yes | JSON request body |

### Delete policy.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/policies-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| policySetName | string | yes | policysets |
| name | string | yes | The name of the Policy |

### List schedules in a given lab.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/schedules-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=status)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get schedule.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/schedules-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| name | string | yes | The name of the Schedule |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=status)' |

### Create or replace an existing schedule.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/schedules-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| name | string | yes | The name of the Schedule |
| body | object | yes | JSON request body |

### Allows modifying tags of schedules. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/schedules-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| name | string | yes | The name of the Schedule |
| body | object | yes | JSON request body |

### Delete schedule.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/schedules-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| name | string | yes | The name of the Schedule |

### Execute a schedule. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/schedules-execute` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| name | string | yes | The name of the Schedule |

### Lists all applicable schedules
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/schedules-list-applicable` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| name | string | yes | The name of the Schedule |

### Get service runner.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-runners-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the service runner. |

### Create or replace an existing service runner.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-runners-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the service runner. |
| body | object | yes | JSON request body |

### Delete service runner.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-runners-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the service runner. |

### List user profiles in a given lab.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/users-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=identity)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get user profile.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/users-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the user profile. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=identity)' |

### Create or replace an existing user profile. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/users-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the user profile. |
| body | object | yes | JSON request body |

### Allows modifying tags of user profiles. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/users-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the user profile. |
| body | object | yes | JSON request body |

### Delete user profile. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/users-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the user profile. |

### List disks in a given user profile.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/disks-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=diskType)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get disk.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/disks-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the disk. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=diskType)' |

### Create or replace an existing disk. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/disks-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the disk. |
| body | object | yes | JSON request body |

### Allows modifying tags of disks. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/disks-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the disk. |
| body | object | yes | JSON request body |

### Delete disk. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/disks-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the disk. |

### Attach and create the lease of the disk to the virtual machine. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/disks-attach` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the disk. |
| body | object | yes | JSON request body |

### Detach and break the lease of the disk attached to the virtual machine. This operation can take a while to…
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/disks-detach` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the disk. |
| body | object | yes | JSON request body |

### List environments in a given user profile.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/environments-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=deploymentProperties)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get environment.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/environments-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the environment. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=deploymentProperties)' |

### Create or replace an existing environment. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/environments-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the environment. |
| body | object | yes | JSON request body |

### Allows modifying tags of environments. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/environments-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the environment. |
| body | object | yes | JSON request body |

### Delete environment. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/environments-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the environment. |

### List secrets in a given user profile.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/secrets-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=value)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get secret.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/secrets-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the secret. |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=value)' |

### Create or replace an existing secret. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/secrets-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the secret. |
| body | object | yes | JSON request body |

### Allows modifying tags of secrets. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/secrets-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the secret. |
| body | object | yes | JSON request body |

### Delete secret.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/secrets-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the secret. |

### List service fabrics in a given user profile.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabrics-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| $expand | string | no | Specify the $expand query. Example: 'properties($expand=applicableSchedule)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get service fabric.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabrics-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the service fabric. |
| $expand | string | no | Specify the $expand query. Example: 'properties($expand=applicableSchedule)' |

### Create or replace an existing service fabric. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabrics-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the service fabric. |
| body | object | yes | JSON request body |

### Allows modifying tags of service fabrics. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabrics-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the service fabric. |
| body | object | yes | JSON request body |

### Delete service fabric. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabrics-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the service fabric. |

### Lists the applicable start/stop schedules, if any.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabrics-list-applicable-schedules` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the service fabric. |

### List schedules in a given service fabric.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabric-schedules-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| userName | string | yes | users |
| serviceFabricName | string | yes | servicefabrics |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=status)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get schedule.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabric-schedules-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| userName | string | yes | users |
| serviceFabricName | string | yes | servicefabrics |
| name | string | yes | The name of the Schedule |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=status)' |

### Create or replace an existing schedule.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabric-schedules-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| userName | string | yes | users |
| serviceFabricName | string | yes | servicefabrics |
| name | string | yes | The name of the Schedule |
| body | object | yes | JSON request body |

### Allows modifying tags of schedules. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabric-schedules-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| userName | string | yes | users |
| serviceFabricName | string | yes | servicefabrics |
| name | string | yes | The name of the Schedule |
| body | object | yes | JSON request body |

### Delete schedule.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabric-schedules-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| userName | string | yes | users |
| serviceFabricName | string | yes | servicefabrics |
| name | string | yes | The name of the Schedule |

### Execute a schedule. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabric-schedules-execute` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| userName | string | yes | users |
| serviceFabricName | string | yes | servicefabrics |
| name | string | yes | The name of the Schedule |

### Start a service fabric. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabrics-start` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the service fabric. |

### Stop a service fabric This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/service-fabrics-stop` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| userName | string | yes | The name of the user profile. |
| name | string | yes | The name of the service fabric. |

### List virtual machines in a given lab.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| $expand | string | no | Specify the $expand query. Example: 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get virtual machine.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |
| $expand | string | no | Specify the $expand query. Example: 'properties($expand=artifacts,computeVm,networkInterface,applicableSchedule)' |

### Create or replace an existing virtual machine. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |
| body | object | yes | JSON request body |

### Allows modifying tags of virtual machines. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |
| body | object | yes | JSON request body |

### Delete virtual machine. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |

### Attach a new or existing data disk to virtual machine. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-add-data-disk` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |
| body | object | yes | JSON request body |

### Apply artifacts to virtual machine. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-apply-artifacts` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |
| body | object | yes | JSON request body |

### Take ownership of an existing virtual machine This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-claim` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |

### Detach the specified disk from the virtual machine. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-detach-data-disk` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |
| body | object | yes | JSON request body |

### Gets a string that represents the contents of the RDP file for the virtual machine
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-get-rdp-file-contents` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |

### Lists the applicable start/stop schedules, if any.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-list-applicable-schedules` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |

### Redeploy a virtual machine This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-redeploy` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |

### Resize Virtual Machine. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-resize` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |
| body | object | yes | JSON request body |

### Restart a virtual machine. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-restart` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |

### List schedules in a given virtual machine.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machine-schedules-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| virtualMachineName | string | yes | virtualmachines |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=status)' |
| $filter | string | no | The filter to apply to the operation. Example: '$filter=contains(name,'myName') |
| $top | integer | no | The maximum number of resources to return from the operation. Example: '$top=10' |
| $orderby | string | no | The ordering expression for the results, using OData notation. Example: '$orderby=name desc' |

### Get schedule.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machine-schedules-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| virtualMachineName | string | yes | virtualmachines |
| name | string | yes | The name of the Schedule |
| $expand | string | no | Specify the $expand query. Example: 'properties($select=status)' |

### Create or replace an existing schedule.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machine-schedules-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| virtualMachineName | string | yes | virtualmachines |
| name | string | yes | The name of the Schedule |
| body | object | yes | JSON request body |

### Allows modifying tags of schedules. All other properties will be ignored.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machine-schedules-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| virtualMachineName | string | yes | virtualmachines |
| name | string | yes | The name of the Schedule |
| body | object | yes | JSON request body |

### Delete schedule.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machine-schedules-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| virtualMachineName | string | yes | virtualmachines |
| name | string | yes | The name of the Schedule |

### Execute a schedule. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machine-schedules-execute` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | labs |
| virtualMachineName | string | yes | virtualmachines |
| name | string | yes | The name of the Schedule |

### Start a virtual machine. This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-start` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |

### Stop a virtual machine This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-stop` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |

### Transfers all data disks attached to the virtual machine to be owned by the current user. This operation can…
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-transfer-disks` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |

### Release ownership of an existing virtual machine This operation can take a while to complete.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/virtual-machines-un-claim` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | The API version to use for this operation. |
| subscriptionId | string | yes | The ID of the target subscription. |
| resourceGroupName | string | yes | The name of the resource group. The name is case insensitive. |
| labName | string | yes | The name of the lab. |
| name | string | yes | The name of the virtual machine. |

…and 12 more. See the OpenAPI spec.

## Example
```
curl "https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/provider-operations-list" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Azure Dev Test Labs management API?
Create a free Apizie key, then send GET https://zieapi.vercel.app/v1/cloud:azure-arm-devtestlabs/provider-operations-list with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Azure Dev Test Labs management API free on Apizie?
Yes. The Free plan includes 1,000 requests a month at 100 requests a minute, no credit card. Azure Dev Test Labs management itself also needs your own key from azure.com.

### Can AI agents use the Azure Dev Test Labs management API?
Yes. Add the Apizie MCP server (https://zieapi.vercel.app/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key cloud:azure-arm-devtestlabs.

### What is the status of the Azure Dev Test Labs management API?
Needs your own provider key (bring your own key)
