---
title: "Restore a deleted zone"
method: POST
path: "/v1/dns-zones/{zoneID}/restore"
tags: ["public", "dns"]
---

# Restore a deleted zone

`POST /v1/dns-zones/{zoneID}/restore`

## Request

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

Only while it is recoverable, removal is complete and no suspension applies.

## Path parameters

- `zoneID` string, required

## Headers

- `Idempotency-Key` string, required

## Response `202`

accepted; republication 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

- `409`: zone_lifecycle or zone_suspended

---

[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)
