---
title: "Remove a custom domain"
method: DELETE
path: "/v1/instances/{id}/app/domains/{domain_id}"
tags: ["public", "apps"]
---

# Remove a custom domain

`DELETE /v1/instances/{id}/app/domains/{domain_id}`

## Request

- Base URL: `https://api.vozora.io`
- URL: `https://api.vozora.io/v1/instances/{id}/app/domains/{domain_id}`
- Auth: API key in header `Authorization`

Two success shapes. 200 "removed" means the app no longer serves the name. 202 "action_required" means the domain stays in place because the machine could not be reached to revert it — the automatic hostname and the IP still work, and the response says so. Neither is an error, and a client must branch on the status rather than on 2xx.

## Path parameters

- `id` string, required
- `domain_id` string, required

## Response `200`

removed

- EndpointsPublicRemoval
  - `domain` EndpointsPublicDomain
    - `applied` boolean
    - `challenge_expires_at` string
    - `dns` EndpointsPublicDNSGuidance
      - `a` EndpointsPublicDNSRecord[]
        - `name` string
        - `type` string
        - `value` string
      - `aaaa` EndpointsPublicDNSRecord[]
        - `name` string
        - `type` string
        - `value` string
      - `addresses_known` boolean
      - `challenge` EndpointsPublicDNSRecord
        - `name` string
        - `type` string
        - `value` string
      - `cname` EndpointsPublicDNSRecord
        - `name` string
        - `type` string
        - `value` string
    - `hostname` string
    - `id` string
    - `last_ownership_check` string
    - `last_route_check` string
    - `ownership_verified` boolean
    - `ownership_verified_at` string
    - `removal_requested` boolean
    - `role` string
    - `service_instance_id` string
    - `state` string
  - `reason` string
  - `recovery` EndpointsPublicRecovery
    - `addresses` string[]
    - `automatic_hostname` string
    - `message` string
  - `status` string

## Other responses

- `202`: action_required — the name is still served; see recovery
- `401`: invalid or missing API key
- `403`: the key lacks apps:write
- `404`: no such instance or domain
- `409`: removal_in_progress or concurrent_change

---

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