Tenvio Docs
Account → domains

Provision and verify independent domains.

Each domain has its own ownership, DKIM, DMARC, aggregate readiness, sender count, safe delivery counts, and last-check state.

Routes

Route Scope
GET /v1/domains domains:read
POST /v1/domains domains:write
GET /v1/domains/{id} domains:read
DELETE /v1/domains/{id} domains:write
GET /v1/domains/{id}/dns domains:read
POST /v1/domains/{id}/check-dns domains:write

Create with a stable external ID

Request
curl -X POST https://api.tenvio.email/v1/domains \
  -H "Authorization: Bearer $TENVIO_MANAGEMENT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"name":"customer.example","external_id":"customer_123"}'

external_id is optional, normalized, 1–255 characters, unique among active domains in the account, and never global. Repeating the same external ID and domain is a natural retry. Filter with GET /v1/domains?external_id=customer_123.

DNS semantics

DNS GET returns exact ownership, DKIM, and DMARC instructions without initiating network work. Check DNS performs a bounded observation. Component state is independent, temporary resolver failures do not become authoritative missing records, and no separate DNS scope exists.

Deletion

A domain can be soft-deleted only after all active senders beneath it are removed. Retained email history remains intact. Unknown, deleted, malformed, and foreign-account IDs all return domain_not_found.