Setup

Delete a domain

DELETE
/api/v1/domains/{domain}

Removes the sending domain from this project — its sender identities go with it — and from the provider account, unless another project still uses the provider domain (then it's left in place and warning says so). Refused while the project's default sender is on this domain and other senders exist elsewhere. Templates and automations sending from the domain will fail until it's re-added and verified. Requires an admin-scope key.

Authorization

bearerAuth admin
headerAuthorizationBearer <token>

An API key from the dashboard under Settings → API keys, sent as Authorization: Bearer aem_….

Authorization has two independent axes.

The scope is ranked — a key satisfies any requirement at or below its own tier:

  • read — see messages, contacts and metrics. Changes nothing, and cannot send.
  • write — everything read does, plus managing templates, contacts, automations, segments and suppressions. This is what editing a template needs.
  • admin — everything write does, plus sending configuration: domains, senders, webhook registration, kill switch, daily cap, brand.

There is no approve scope. It was a rung once; it is not one now, and a key requested with it is rejected.

The approval grant (can_approve) is a separate boolean, not a rung. Delivering mail to a real inbox needs write and the grant. Keeping them on separate axes is what makes the review gate a control rather than a convention: a key that may propose is not automatically a key that may approve its own proposal.

Give your application the lowest tier that works. Most need write and the grant — the dashboard mints that combination as Send + manage; Manage only is the same rung with the grant withheld.

Scope: admin

Path Parameters

domain*string

The domain name itself, e.g. mail.acme.com.

Response Body

Domain deleted.

application/json
  1. response
domain?string
deleted?boolean
warning?|

Present when the provider copy was left in place (shared with another project) or the provider-side delete failed.

Example Request
curl -X DELETE 'https://sendandretain.com/api/v1/domains/string'
Example Response
{  "domain": "mail.acme.com",  "deleted": true,  "warning": "string"}