---
title: "Delete a zone"
method: DELETE
path: "/v1/dns-zones/{zoneID}"
tags: ["public", "dns"]
---

# Delete a zone

`DELETE /v1/dns-zones/{zoneID}`

## Request

- Base URL: `https://api.vozora.io`
- URL: `https://api.vozora.io/v1/dns-zones/{zoneID}`
- Auth: API key in header `Authorization`

Requires the canonical name in the body. Verified zones are removed from every nameserver first; recovery starts when that is confirmed.

## Path parameters

- `zoneID` string, required

## Headers

- `If-Match` string, required
- `Idempotency-Key` string, required

## Response `202`

accepted; removal is asynchronous

- ZonesPublicZone
  - `alias_health` string
  - `applied_version` integer
  - `created_at` string
  - `delegation` string
  - `delegation_observed_at` string
  - `desired_version` integer: DesiredVersion is what the next If-Match must carry; AppliedVersion is what the estate has actually served. They differ while a change is in flight, which is what a poller watches.
  - `id` string
  - `lifecycle` string
  - `name` string
  - `preparation_expires_at` string: Named for what it is, not for the token: this is when an unverified preparation lapses, and calling it a "token deadline" both puzzles a customer and makes a timestamp look like a credential.
  - `publication` string
  - `recoverable_until` string
  - `status_url` string
  - `suspended` boolean
  - `updated_at` string
  - `verified_at` string

## Other responses

- `403`: the key lacks dns_zones:delete
- `422`: the confirmation name does not match
- `428`: If-Match is required

---

[API](https://skmtc.dev/vozora/apis/vozora-api.md) · [All operations](https://skmtc.dev/vozora/apis/vozora-api/llms.txt) · [OpenAPI document](https://skmtc.dev/vozora/apis/vozora-api/revisions/56f15734fc5a?raw)
