# Azure Dns management API

> Azure Dns management API on Apizie: 14 endpoints (Gets a record set., Creates or updates a record set within a DNS zone., Updates a record set within a DNS zone., Deletes a record set from a DNS zone. This operation cannot be undone., …) 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://www.apizie.tech/v1/cloud:azure-arm-dns/{endpoint} or from Claude, ChatGPT and Cursor through the Apizie MCP server. Free plan: 1,000 requests a month.

- Project key: `cloud:azure-arm-dns`
- Category: Cloud
- Status: byok
- Source: https://learn.microsoft.com/rest/api/azure/
- Page: https://www.apizie.tech/api/cloud/azure-arm-dns
- OpenAPI: https://www.apizie.tech/api/cloud/azure-arm-dns/openapi.json

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

## Endpoints

### Gets a record set.
`GET https://www.apizie.tech/v1/cloud:azure-arm-dns/record-sets-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resourceGroupName | string | yes | The name of the resource group. |
| zoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| relativeRecordSetName | string | yes | The name of the record set, relative to the name of the zone. |
| recordType | string | yes | The type of DNS record in this record set. |
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |

### Creates or updates a record set within a DNS zone.
`POST https://www.apizie.tech/v1/cloud:azure-arm-dns/record-sets-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resourceGroupName | string | yes | The name of the resource group. |
| zoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| relativeRecordSetName | string | yes | The name of the record set, relative to the name of the zone. |
| recordType | string | yes | The type of DNS record in this record set. Record sets of type SOA can be updated but not created (they are created when the DNS zone is… |
| 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. |
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |
| body | object | yes | JSON request body |

### Updates a record set within a DNS zone.
`POST https://www.apizie.tech/v1/cloud:azure-arm-dns/record-sets-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resourceGroupName | string | yes | The name of the resource group. |
| zoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| relativeRecordSetName | string | yes | The name of the record set, relative to the name of the zone. |
| recordType | string | yes | The type of DNS record in this record set. |
| 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… |
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |
| body | object | yes | JSON request body |

### Deletes a record set from a DNS zone. This operation cannot be undone.
`POST https://www.apizie.tech/v1/cloud:azure-arm-dns/record-sets-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resourceGroupName | string | yes | The name of the resource group. |
| zoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| relativeRecordSetName | string | yes | The name of the record set, relative to the name of the zone. |
| recordType | string | yes | The type of DNS record in this record set. Record sets of type SOA cannot be deleted (they are deleted when the DNS zone is deleted). |
| 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… |
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |

### Lists the record sets of a specified type in a DNS zone.
`GET https://www.apizie.tech/v1/cloud:azure-arm-dns/record-sets-list-by-type` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resourceGroupName | string | yes | The name of the resource group. |
| zoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| recordType | string | yes | The type of record sets to enumerate. |
| $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 that has to be used to filter the record set enumerations. If this parameter is specified,… |
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |

### Lists all record sets in a DNS zone.
`GET https://www.apizie.tech/v1/cloud:azure-arm-dns/record-sets-list-by-dns-zone` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resourceGroupName | string | yes | The name of the resource group. |
| zoneName | string | yes | The name of the 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 that has to be used to filter the record set enumerations. If this parameter is specified,… |
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |

### Lists all record sets in a DNS zone.
`GET https://www.apizie.tech/v1/cloud:azure-arm-dns/record-sets-list-all-by-dns-zone` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resourceGroupName | string | yes | The name of the resource group. |
| zoneName | string | yes | The name of the 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 that has to be used to filter the record set enumerations. If this parameter is specified,… |
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |

### Gets a DNS zone. Retrieves the zone properties, but not the record sets within the zone.
`GET https://www.apizie.tech/v1/cloud:azure-arm-dns/zones-get` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resourceGroupName | string | yes | The name of the resource group. |
| zoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |

### Creates or updates a DNS zone. Does not modify DNS records within the zone.
`POST https://www.apizie.tech/v1/cloud:azure-arm-dns/zones-create-or-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resourceGroupName | string | yes | The name of the resource group. |
| zoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| If-Match | string | no | The etag of the DNS zone. Omit this value to always overwrite the current zone. Specify the last-seen etag value to prevent accidentally… |
| If-None-Match | string | no | Set to '*' to allow a new DNS zone to be created, but to prevent updating an existing zone. Other values will be ignored. |
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |
| body | object | yes | JSON request body |

### Updates a DNS zone. Does not modify DNS records within the zone.
`POST https://www.apizie.tech/v1/cloud:azure-arm-dns/zones-update` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resourceGroupName | string | yes | The name of the resource group. |
| zoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| If-Match | string | no | The etag of the DNS zone. Omit this value to always overwrite the current zone. Specify the last-seen etag value to prevent accidentally… |
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |
| body | object | yes | JSON request body |

### Deletes a DNS zone. WARNING: All DNS records in the zone will also be deleted. This operation cannot be…
`POST https://www.apizie.tech/v1/cloud:azure-arm-dns/zones-delete` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resourceGroupName | string | yes | The name of the resource group. |
| zoneName | string | yes | The name of the DNS zone (without a terminating dot). |
| If-Match | string | no | The etag of the DNS zone. Omit this value to always delete the current zone. Specify the last-seen etag value to prevent accidentally… |
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |

### Lists the DNS zones within a resource group.
`GET https://www.apizie.tech/v1/cloud:azure-arm-dns/zones-list-by-resource-group` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| resourceGroupName | string | yes | The name of the resource group. |
| $top | integer | no | The maximum number of record sets to return. If not specified, returns up to 100 record sets. |
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |

### Returns the DNS records specified by the referencing targetResourceIds.
`POST https://www.apizie.tech/v1/cloud:azure-arm-dns/dns-resource-reference-get-by-target-resources` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |
| body | object | yes | JSON request body |

### Lists the DNS zones in all resource groups in a subscription.
`GET https://www.apizie.tech/v1/cloud:azure-arm-dns/zones-list` (byok)

| Parameter | Type | Required | Description |
|---|---|---|---|
| $top | integer | no | The maximum number of DNS zones to return. If not specified, returns up to 100 zones. |
| api-version | string | no | Specifies the API version. |
| subscriptionId | string | yes | Specifies the Azure subscription ID, which uniquely identifies the Microsoft Azure subscription. |

## Example
```
curl "https://www.apizie.tech/v1/cloud:azure-arm-dns/record-sets-get" \
  -H "x-api-key: $APIZIE_KEY" \
  -H "x-upstream-key: $PROVIDER_KEY"
```

## FAQ

### How do I call the Azure Dns management API?
Create a free Apizie key, then send GET https://www.apizie.tech/v1/cloud:azure-arm-dns/record-sets-get with the header x-api-key. Every endpoint returns { project, data, timestamp }.

### Is the Azure 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 Dns management itself also needs your own key from azure.com.

### Can AI agents use the Azure Dns management API?
Yes. Add the Apizie MCP server (https://www.apizie.tech/mcp) to Claude, ChatGPT, Cursor or VS Code, then ask in plain language. The agent calls run_scraper with project key cloud:azure-arm-dns.

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