Deliverability Score per verified domain, and the worst
One row per adopted, verified sending domain from its latest nightly
snapshot (05:40 UTC), plus org_summary: the org as its worst
assessed domain — worst band, then lowest score — never a mean.
A score is the weighted share of DECIDED checks that pass. unknown
checks are excluded from the denominator and reported in
coverage; they never count as zero or as a pass. Bands: healthy
≥ 90, at_risk 70–89, failing < 70 — except that any blocking
task forces failing, whatever the number. A domain with no snapshot
yet is not_yet_assessed, with null score, coverage and
taken_at — never zeros.
Cursor-paginated over the domains; org_summary always covers every
domain, not just the page. Available on every plan. Read-only.
Query parameters
limit integer optional Page size (1–200). Default 50.
cursor string optional Opaque cursor returned from the previous page.
Responses
Errors follow the RFC 7807 problem format — see the error reference.
data array<object> required Each entry in data:
domain_id string<uuid> required domain string required status string enum required One of: assessed, not_yet_assessed
score integer | null required band string enum required One of: healthy, at_risk, failing, unassessed
band_label string required low_confidence boolean required coverage object | null required blocking_tasks integer required open_tasks integer required top_task object | null required Fields of top_task:
key string required title string required where string enum required One of: sendops, dns, aws, third_party
severity string enum required One of: blocking, important, advisory
taken_at string<date-time> | null required pagination object required Fields of pagination:
has_more boolean required next_cursor string | null optional org_summary object required The org as its WORST assessed domain — worst band, then lowest score — never a mean. worst_band is unassessed and worst_domain null when no domain has a scored snapshot yet.
Fields of org_summary:
worst_band string enum required One of: healthy, at_risk, failing, unassessed
worst_band_label string required worst_domain string | null required worst_domain_id string<uuid> | null required open_tasks integer required blocking_tasks integer required assessed_domains integer required not_yet_assessed_domains integer required next_nightly_at string<date-time> required validation_failed Problem. When the refusal is about a
reference — a segment key, template slug, topic or attribute name the
organization does not have — it additionally carries validation_code,
field, line/column, missing, candidates and next_step, so a
client can correct the call without a second round of guessing. See
ValidationProblem.
application/problem+json code is internal_error. The
request_id field can be quoted to SendOps support to investigate.
application/problem+json