Get one domain's DMARC reporting posture
Returns one domain's reporting posture. {domain} is the domain NAME
(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 domain, by NAME (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.
domain string required dmarc_record string optional The record as last OBSERVED in DNS, not one we hold. Absent means none was published at the last check.
policy string enum required The enforcement level currently published. no_record is NOT the same as none: none is a deliberate choice to monitor, absence is the absence of a choice. An unparseable record reads as no_record rather than being guessed at.
One of: no_record, none, quarantine, reject
report_address string optional Where this domain's aggregate reports are delivered.
has_reports boolean required has_tls_reports boolean required first_report_at string<date-time> optional last_report_at string<date-time> optional report_count integer<int64> required source_counts object required Two DIFFERENT groupings. The five class counts partition total. alerting answers a separate question and may overlap any of them. awaiting_decision and open_finding partition alerting exactly.
Fields of source_counts:
total integer<int64> required sendops integer<int64> required The org's own SES
sendops_relayed integer<int64> required The org's own mail via a host that is not their SES.
sendops_unaligned integer<int64> required The org's own SES
known integer<int64> required A third party the org confirmed.
unknown integer<int64> required alerting integer<int64> required How much of the traffic needs a human. NOT part of the partition above — read this, not unknown, for "is something wrong with this domain".
awaiting_decision integer<int64> required The only count a decision can reduce.
open_finding integer<int64> required Needs a DNS record, a third party, or the policy ladder — not a decision.
traffic object | null required Null when the reporting window holds no data. Null is not zero — a domain nobody reported on has no pass rate.
dispersion object | null optional Null when the nightly classification pass has never measured this domain. Null is NOT "no campaign detected" — that is a claim, and an unmeasured domain has not earned it.
code is internal_error. The
request_id field can be quoted to SendOps support to investigate.
application/problem+json