Get one receiving domain

Search Documentation

Search across all developer documentation

inbound

Get one receiving domain

GET /v1/inbound/domains/{domain}
Auth required api.inbound.view

One receiving domain's state. {domain} is the domain NAME (in.acme.com); a UUID is also accepted. A domain belonging to another org is a 404, not a 403.

Path parameters

domain string required

The receiving domain, by NAME (in.acme.com). A UUID is also accepted. Matched case-insensitively, and scoped to the calling org — a domain belonging to another org is a 404, never a 403.

Responses

Errors follow the RFC 7807 problem format — see the error reference.

200 The receiving domain application/json
domain string required
id string<uuid> required
status string enum required

error means a CHECK could not be performed — a resolver failure, an SES call that failed — and is NOT "the record is missing", which is pending_dns. Polling continues either way, so error is never terminal.

One of: pending_dns, verified, error

last_error string optional

The first thing missing or wrong, in plain words. Absent on a verified domain.

region string required

The RECEIVING region — the region of the stack carrying the inbound module, and the region whose SES endpoint your MX must name.

cross_region boolean required

True when the receiving region differs from the account's sending region. A fact to state, never an error: only 22 AWS regions receive mail at all.

mx_verified_at string<date-time> optional
identity_verified_at string<date-time> optional
records array<object> required

The copy-paste DNS instruction set. SendOps will never publish these for you — it holds no DNS credentials — so this list is the whole of what turns pending_dns into verified.

Each entry in records:

type string enum required

One of: MX, CNAME

name string required
value string required
verified boolean required
webhook object | null required

Null when no webhook is configured.

Fields of webhook:

url string<uri> required
allow_patterns array<string> required

Local-part globs — support, ticket-*. EMPTY MEANS EVERY RECIPIENT AT THE DOMAIN IS DELIVERED, which is the opposite of how an empty list usually reads and is the most consequential field on this shape. A recipient that matches nothing in a non-empty list is recorded as no_route.

spam_posture string enum required

tag delivers a message SES marked as spam, with the verdict stated in the payload; drop records the outcome and delivers nothing.

One of: tag, drop

virus_posture string enum required

One of: tag, drop

status string enum required

pending means the routing has not been re-published yet, which normally closes within seconds. invalid means the URL failed re-validation at publish time — most often a host that stopped resolving, or one that now resolves to a private address — so the domain was left out of the routing entirely; error says which.

One of: unset, pending, published, invalid

error string optional
published_at string<date-time> optional
created_at string<date-time> required
401 Missing, malformed, or unknown API key application/problem+json
403 Key lacks the required scope or plan limit violated application/problem+json
404 Resource not found application/problem+json
429 Per-org rate limit exceeded application/problem+json
500 Unexpected server-side failure. The code is internal_error. The request_id field can be quoted to SendOps support to investigate. application/problem+json