# Azure iot Dps management API

> Azure iot Dps management API on Apizie: 24 endpoints (List the operations for the provider, Check if a provisioning service name is available., List all the provisioning services for a given subscription id., Get a list of all provisioning services in the given resource group., …) 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-deviceprovisioningservices/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

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

Azure Resource Manager API for iot Dps: 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-deviceprovisioningservices/operations-list` (byok)

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

### Check if a provisioning service name is available.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-check-provisioning-service-name-availabilit` (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. |
| body | object | yes | JSON request body |

### List all the provisioning services for a given subscription id.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-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. |

### Get a list of all provisioning services in the given resource group.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-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. |

### Get the metadata of the provisioning service without SAS keys.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |

### Create or update the metadata of the provisioning service. The usual pattern to modify a property is to…
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |
| body | object | yes | JSON request body |

### Update an existing provisioning service's tags. to update other fields use the CreateOrUpdate method
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |
| body | object | yes | JSON request body |

### Deletes the Provisioning Service.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |

### Get all the certificates tied to the provisioning service.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/dps-certificate-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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |

### Get the certificate from the provisioning service.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/dps-certificate-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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |
| certificateName | string | yes | Name of the certificate to retrieve. |
| If-Match | string | no | ETag of the certificate. |

### Add new certificate or update an existing certificate.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/dps-certificate-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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |
| certificateName | string | yes | Name of the certificate to retrieve. |
| If-Match | string | no | ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate. |
| body | object | yes | JSON request body |

### Deletes the specified certificate associated with the Provisioning Service
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/dps-certificate-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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |
| certificateName | string | yes | Name of the certificate to retrieve. |
| If-Match | string | yes | ETag of the certificate |
| certificate.name | string | no | This is optional, and it is the Common Name of the certificate. |
| certificate.rawBytes | string | no | Raw data within the certificate. |
| certificate.isVerified | boolean | no | Indicates if certificate has been verified by owner of the private key. |
| certificate.purpose | string | no | A description that mentions the purpose of the certificate. |
| certificate.created | string | no | Time the certificate is created. |
| certificate.lastUpdated | string | no | Certificate last updated time. |
| certificate.hasPrivateKey | boolean | no | Indicates if the certificate contains a private key. |
| certificate.nonce | string | no | Random number generated to indicate Proof of Possession. |

### Generate verification code for Proof of Possession.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/dps-certificate-generate-verification-code` (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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |
| certificateName | string | yes | Name of the certificate to retrieve. |
| If-Match | string | yes | ETag of the certificate. This is required to update an existing certificate, and ignored while creating a brand new certificate. |
| certificate.name | string | no | Common Name for the certificate. |
| certificate.rawBytes | string | no | Raw data of certificate. |
| certificate.isVerified | boolean | no | Indicates if the certificate has been verified by owner of the private key. |
| certificate.purpose | string | no | Description mentioning the purpose of the certificate. |
| certificate.created | string | no | Time the certificate is created. |
| certificate.lastUpdated | string | no | Certificate last updated time. |
| certificate.hasPrivateKey | boolean | no | Indicates if the certificate contains private key. |
| certificate.nonce | string | no | Random number generated to indicate Proof of Possession. |

### Verifies the certificate's private key possession by providing the leaf cert issued by the verifying pre…
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/dps-certificate-verify-certificate` (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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |
| certificateName | string | yes | Name of the certificate to retrieve. |
| If-Match | string | yes | ETag of the certificate. |
| certificate.name | string | no | Common Name for the certificate. |
| certificate.rawBytes | string | no | Raw data of certificate. |
| certificate.isVerified | boolean | no | Indicates if the certificate has been verified by owner of the private key. |
| certificate.purpose | string | no | Describe the purpose of the certificate. |
| certificate.created | string | no | Time the certificate is created. |
| certificate.lastUpdated | string | no | Certificate last updated time. |
| certificate.hasPrivateKey | boolean | no | Indicates if the certificate contains private key. |
| certificate.nonce | string | no | Random number generated to indicate Proof of Possession. |
| body | object | yes | JSON request body |

### List primary and secondary keys for a specific key name
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-list-keys-for-key-name` (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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |
| keyName | string | yes | Logical key name to get key-values for. |

### List the primary and secondary keys for a provisioning service.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-list-keys` (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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |

### Gets the status of a long running operation, such as create, update or delete a provisioning service.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-get-operation-result` (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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |
| operationId | string | yes | Operation id corresponding to long running operation. Use this to poll for the status. |
| asyncinfo | string | yes | Async header used to poll on the status of the operation, obtained while creating the long running operation. |

### List private endpoint connection properties
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-list-private-endpoint-connections` (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. |
| resourceName | string | yes | Name of the provisioning service to retrieve. |

### Get private endpoint connection properties
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-get-private-endpoint-connection` (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. |
| resourceName | string | yes | Name of the provisioning service to retrieve. |
| privateEndpointConnectionName | string | yes | The name of the private endpoint connection |

### Create or update the status of a private endpoint connection with the specified name
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-create-or-update-private-endpoint-connectio` (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. |
| resourceName | string | yes | Name of the provisioning service to retrieve. |
| privateEndpointConnectionName | string | yes | The name of the private endpoint connection |
| body | object | yes | JSON request body |

### Delete private endpoint connection with the specified name
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-delete-private-endpoint-connection` (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. |
| resourceName | string | yes | Name of the provisioning service to retrieve. |
| privateEndpointConnectionName | string | yes | The name of the private endpoint connection |

### List private link resources for the given provisioning service
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-list-private-link-resources` (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. |
| resourceName | string | yes | Name of the provisioning service to retrieve. |

### Get the specified private link resource for the given provisioning service
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-get-private-link-resources` (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. |
| resourceName | string | yes | Name of the provisioning service to retrieve. |
| groupId | string | yes | The name of the private link resource |

### Gets the list of valid SKUs and tiers for a provisioning service.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-deviceprovisioningservices/iot-dps-resource-list-valid-skus` (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. |
| provisioningServiceName | string | yes | Name of the provisioning service to retrieve. |

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

## FAQ

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

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

### Can AI agents use the Azure iot Dps 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-deviceprovisioningservices.

### What is the status of the Azure iot Dps management API?
Needs your own provider key (bring your own key)
