---
title: "Delete an email domain"
method: DELETE
path: "/email_domains/{id}"
tags: ["Email Domains"]
---

# Delete an email domain

`DELETE /email_domains/{id}`

Deletes an email domain configuration. Verified domains require `force=true`, and shared domains are read-only for non-owner accounts.

## Path parameters

- `id` string, uuid, required

## Query parameters

- `force` boolean

## Response `200`

Email domain deleted

- EmailDomainResponse
  - `data` EmailDomain, required
    - `created_at` string, date-time, required
    - `dkim` DKIMStatus, required
      - `active` boolean, required
      - `algorithm` 'rsa-sha256' | 'null', nullable, required
      - `key_length` 2048 | null, nullable, required
      - `rotated_at` string, date-time, nullable, required
      - `selector` string, nullable, required
    - `dmarc_policy` EmailDMARCPolicy, required — DMARC policy for a sending domain. Drives the recommended _dmarc.<domain> TXT record. DMARC is advisory and never blocks sending. When omitted or null, the domain uses the advisory default (v=DMARC1; p=none; rua=mailto:dmarc@telnyx.com).
      - `p` 'none' | 'quarantine' | 'reject' — Policy applied to messages that fail alignment.
      - `pct` integer — Percentage of messages the policy applies to. Omitted from the record when 100.
      - `rua` string, nullable — URI for aggregate reports. Defaults to the Telnyx address when absent; null omits it.
      - `sp` 'none' | 'quarantine' | 'reject', nullable — Policy for subdomains. Omitted from the record when null.
    - `dns_records` DNSRecord[], required
      - `actual_value` string, nullable
      - `host` string, required
      - `id` string, uuid, required
      - `priority` integer, nullable
      - `purpose` 'ownership' | 'spf' | 'dkim' | 'dmarc' | 'mx', required
      - `record_type` 'TXT' | 'MX', required
      - `required` boolean, required
      - `status` 'pending' | 'verified' | 'failed' | 'not_required', required
      - `value` string, required
    - `domain` string, required
    - `id` string, uuid, required
    - `inbound` InboundConfig, required
      - `catch_all` boolean, required
      - `enabled` boolean, required
      - `mx_required` boolean, required
    - `record_type` 'email_domain', required
    - `reputation` object — Sender reputation for this domain (present on all domain responses).
      - `band` string — Reputation band, e.g. good/warn/poor.
      - `breakdown` object
      - `computed_at` string, date-time, nullable
    - `status` 'pending' | 'verifying' | 'verified' | 'failed' | 'degraded' | 'suspended', required
    - `tracking` DomainsTrackingSettings, required
      - `click_tracking` boolean — Rewrite HTML links through a tracking redirect to record click events.
      - `open_tracking` boolean — Inject a tracking pixel into HTML messages to record open events.
      - `unsubscribe_tracking` boolean — Add RFC 8058 List-Unsubscribe headers with a signed one-click unsubscribe URL. Enabled by default; Gmail/Yahoo bulk-sender rules require one-click unsubscribe support.
    - `type` 'custom' | 'shared' | 'shared_inbound', required
    - `updated_at` string, date-time, required
    - `usable_for_inbound` boolean, required
    - `usable_for_sending` boolean, required
    - `verification` EmailDomainVerification, required
      - `dkim` 'pending' | 'verified' | 'failed', required
      - `dmarc` 'missing_optional' | 'verified' | 'failed', required
      - `mx` 'not_required' | 'pending' | 'verified' | 'failed', required
      - `ownership` 'pending' | 'verified' | 'not_required', required
      - `spf` 'missing_optional' | 'verified' | 'failed' | 'not_required', required
    - `verified_at` string, date-time, nullable

## Other responses

- `403` — Forbidden — shared domains are read-only for non-owner accounts (error code 10008).
- `404` — Resource not found
- `422` — Validation failed
- `500` — Internal server error

## Changes

- **2026-07-28** `b1bf96d8391e` — 3 warning
  - added the new `not_required` enum value to the `data/verification/ownership` response property for the response status `200`
  - added the new `not_required` enum value to the `data/verification/spf` response property for the response status `200`
  - added the new `shared_inbound` enum value to the `data/type` response property for the response status `200`
- **2026-07-21** `80833e66e010` — 1 breaking, 1 info
  - the `data/dmarc_policy` response's property type/format changed from `string`/`` to `object`/`` for status `200`
  - added `#/components/schemas/EmailDMARCPolicy` to the `data/dmarc_policy` response property `allOf` list for the response status `200`
- **2026-07-07** `6ef0ae248bf7` — 1 info
  - endpoint added
- **2026-07-02** `224ed0d8a5c3` — 1 breaking
  - api path removed without deprecation

[Change history](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/changes/email_domains/:id/delete.md)

---

[API](https://skmtc.dev/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/team-telnyx/telnyx-api-2/revisions/3fdc16374d70/schema)
