# Azure Private Dns management API

> Azure Private Dns management API on Apizie: 17 endpoints (Lists the Private DNS zones in all resource groups in a subscription., Lists the Private DNS zones within a resource group., Gets a Private DNS zone. Retrieves the zone properties, but not the virtual networks links or the record…, Creates or updates a Private DNS zone. Does not modify Links to virtual networks or DNS records within the…, …) 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-privatedns/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

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

Azure Resource Manager API for Private Dns: manage these Azure resources in your subscription with a Microsoft Entra access token.

## Endpoints

### Lists the Private DNS zones in all resource groups in a subscription.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/private-zones-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. |
| $top | integer | no | The maximum number of Private DNS zones to return. If not specified, returns up to 100 zones. |

### Lists the Private DNS zones within a resource group.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/private-zones-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. |
| $top | integer | no | The maximum number of record sets to return. If not specified, returns up to 100 record sets. |

### Gets a Private DNS zone. Retrieves the zone properties, but not the virtual networks links or the record…
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/private-zones-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. |
| privateZoneName | string | yes | The name of the Private DNS zone (without a terminating dot). |

### Creates or updates a Private DNS zone. Does not modify Links to virtual networks or DNS records within the…
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/private-zones-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. |
| privateZoneName | string | yes | The name of the Private DNS zone (without a terminating dot). |
| If-Match | string | no | The ETag of the Private DNS zone. Omit this value to always overwrite the current zone. Specify the last-seen ETag value to prevent… |
| If-None-Match | string | no | Set to '*' to allow a new Private DNS zone to be created, but to prevent updating an existing zone. Other values will be ignored. |
| body | object | yes | JSON request body |

### Updates a Private DNS zone. Does not modify virtual network links or DNS records within the zone.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/private-zones-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. |
| privateZoneName | string | yes | The name of the Private DNS zone (without a terminating dot). |
| If-Match | string | no | The ETag of the Private DNS zone. Omit this value to always overwrite the current zone. Specify the last-seen ETag value to prevent… |
| body | object | yes | JSON request body |

### Deletes a Private DNS zone. WARNING: All DNS records in the zone will also be deleted. This operation cannot…
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/private-zones-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. |
| privateZoneName | string | yes | The name of the Private DNS zone (without a terminating dot). |
| If-Match | string | no | The ETag of the Private DNS zone. Omit this value to always delete the current zone. Specify the last-seen ETag value to prevent… |

### Lists the record sets of a specified type in a Private DNS zone.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/record-sets-list-by-type` (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. |
| privateZoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| recordType | string | yes | The type of DNS record in this record set. |
| $top | integer | no | The maximum number of record sets to return. If not specified, returns up to 100 record sets. |
| $recordsetnamesuffix | string | no | The suffix label of the record set name to be used to filter the record set enumeration. If this parameter is specified, the returned… |

### Gets a record set.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/record-sets-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. |
| privateZoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| recordType | string | yes | The type of DNS record in this record set. |
| relativeRecordSetName | string | yes | The name of the record set, relative to the name of the zone. |

### Creates or updates a record set within a Private DNS zone.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/record-sets-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. |
| privateZoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| recordType | string | yes | The type of DNS record in this record set. |
| relativeRecordSetName | string | yes | The name of the record set, relative to the name of the zone. |
| If-Match | string | no | The ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent… |
| If-None-Match | string | no | Set to '*' to allow a new record set to be created, but to prevent updating an existing record set. Other values will be ignored. |
| body | object | yes | JSON request body |

### Updates a record set within a Private DNS zone.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/record-sets-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. |
| privateZoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| recordType | string | yes | The type of DNS record in this record set. |
| relativeRecordSetName | string | yes | The name of the record set, relative to the name of the zone. |
| If-Match | string | no | The ETag of the record set. Omit this value to always overwrite the current record set. Specify the last-seen ETag value to prevent… |
| body | object | yes | JSON request body |

### Deletes a record set from a Private DNS zone. This operation cannot be undone.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/record-sets-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. |
| privateZoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| recordType | string | yes | The type of DNS record in this record set. |
| relativeRecordSetName | string | yes | The name of the record set, relative to the name of the zone. |
| If-Match | string | no | The ETag of the record set. Omit this value to always delete the current record set. Specify the last-seen ETag value to prevent… |

### Lists all record sets in a Private DNS zone.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/record-sets-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. |
| privateZoneName | string | yes | The name of the Private DNS zone (without a terminating dot). |
| $top | integer | no | The maximum number of record sets to return. If not specified, returns up to 100 record sets. |
| $recordsetnamesuffix | string | no | The suffix label of the record set name to be used to filter the record set enumeration. If this parameter is specified, the returned… |

### Lists the virtual network links to the specified Private DNS zone.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/virtual-network-links-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. |
| privateZoneName | string | yes | The name of the Private DNS zone (without a terminating dot). |
| $top | integer | no | The maximum number of virtual network links to return. If not specified, returns up to 100 virtual network links. |

### Gets a virtual network link to the specified Private DNS zone.
`GET https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/virtual-network-links-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. |
| privateZoneName | string | yes | The name of the Private DNS zone (without a terminating dot). |
| virtualNetworkLinkName | string | yes | The name of the virtual network link. |

### Creates or updates a virtual network link to the specified Private DNS zone.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/virtual-network-links-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. |
| privateZoneName | string | yes | The name of the Private DNS zone (without a terminating dot). |
| virtualNetworkLinkName | string | yes | The name of the virtual network link. |
| If-Match | string | no | The ETag of the virtual network link to the Private DNS zone. Omit this value to always overwrite the current virtual network link.… |
| If-None-Match | string | no | Set to '*' to allow a new virtual network link to the Private DNS zone to be created, but to prevent updating an existing link. Other… |
| body | object | yes | JSON request body |

### Updates a virtual network link to the specified Private DNS zone.
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/virtual-network-links-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. |
| privateZoneName | string | yes | The name of the Private DNS zone (without a terminating dot). |
| virtualNetworkLinkName | string | yes | The name of the virtual network link. |
| If-Match | string | no | The ETag of the virtual network link to the Private DNS zone. Omit this value to always overwrite the current virtual network link.… |
| body | object | yes | JSON request body |

### Deletes a virtual network link to the specified Private DNS zone. WARNING: In case of a registration virtual…
`POST https://zieapi.vercel.app/v1/cloud:azure-arm-privatedns/virtual-network-links-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. |
| privateZoneName | string | yes | The name of the Private DNS zone (without a terminating dot). |
| virtualNetworkLinkName | string | yes | The name of the virtual network link. |
| If-Match | string | no | The ETag of the virtual network link to the Private DNS zone. Omit this value to always delete the current zone. Specify the last-seen… |

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

## FAQ

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

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

### Can AI agents use the Azure Private Dns 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-privatedns.

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