Email Auth
Email AuthDMARC Reports
Get DMARC Report Status
Configure DMARC Reports
ModelsExpand Collapse
DMARCReportGetResponse { approved_sources, created, created_at, 9 more } Response for GET/PATCH /dmarc-reports
Response for GET/PATCH /dmarc-reports
records?: Records { bimi_records, cname_dkim_records, cname_dmarc_records, 5 more } Live DNS records for the zone, grouped by type
Live DNS records for the zone, grouped by type
bimi_records?: Array<BimiRecord>BIMI TXT records
BIMI TXT records
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
cname_dkim_records?: Array<CnamedkimRecord>CNAME records for DKIM selectors. Each selector is resolved independently; when a selector’s CNAME resolves to a DKIM TXT record, the API returns that record’s content in the resolved field of the corresponding entry.
CNAME records for DKIM selectors. Each selector is resolved independently; when a selector’s CNAME resolves to a DKIM TXT record, the API returns that record’s content in the resolved field of the corresponding entry.
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
cname_dmarc_records?: Array<CnamedmarcRecord>CNAME records at _dmarc. When such a CNAME resolves to a DMARC TXT record, the API returns that record’s content in the resolved field of the corresponding entry.
CNAME records at _dmarc. When such a CNAME resolves to a DMARC TXT record, the API returns that record’s content in the resolved field of the corresponding entry.
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
cname_spf_records?: Array<CnamespfRecord>CNAME records at the zone apex. When such a CNAME resolves to an SPF TXT record, the API returns that record’s content in the resolved field of the corresponding entry.
CNAME records at the zone apex. When such a CNAME resolves to an SPF TXT record, the API returns that record’s content in the resolved field of the corresponding entry.
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
dkim_records?: Array<DKIMRecord>DKIM TXT records
DKIM TXT records
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
dmarc_records?: Array<DMARCRecord>DMARC TXT records
DMARC TXT records
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
Deprecatedresolved_dmarc_records?: Array<ResolvedDMARCRecord>Use the resolved field on the corresponding entry in cname_dmarc_records instead.
DMARC records that a recursive lookup of _dmarc.{zone} returned. The API populates this only when the zone lacks a DMARC TXT record of its own, which usually means a CNAME delegates DMARC to another zone.
Use the resolved field on the corresponding entry in cname_dmarc_records instead.
DMARC records that a recursive lookup of _dmarc.{zone} returned. The API populates this only when the zone lacks a DMARC TXT record of its own, which usually means a CNAME delegates DMARC to another zone.
spf_records?: Array<SPFRecord>SPF TXT records
SPF TXT records
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
status?: "missing-dmarc-report" | "multiple-dmarc-reports" | "missing-dmarc-rua" | 2 moreDMARC configuration status. The API omits this field when DMARC is correctly configured. If the zone lacks a DMARC TXT record of its own, the API resolves _dmarc.{zone} recursively and evaluates whatever that lookup returns. A CNAME at _dmarc.{zone} that points to a valid DMARC record is therefore healthy; the cname-on-dmarc-record value means the CNAME resolves to no DMARC record at all.
DMARC configuration status. The API omits this field when DMARC is correctly configured. If the zone lacks a DMARC TXT record of its own, the API resolves _dmarc.{zone} recursively and evaluates whatever that lookup returns. A CNAME at _dmarc.{zone} that points to a valid DMARC record is therefore healthy; the cname-on-dmarc-record value means the CNAME resolves to no DMARC record at all.
DMARCReportEditResponse { approved_sources, created, created_at, 9 more } Response for GET/PATCH /dmarc-reports
Response for GET/PATCH /dmarc-reports
records?: Records { bimi_records, cname_dkim_records, cname_dmarc_records, 5 more } Live DNS records for the zone, grouped by type
Live DNS records for the zone, grouped by type
bimi_records?: Array<BimiRecord>BIMI TXT records
BIMI TXT records
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
cname_dkim_records?: Array<CnamedkimRecord>CNAME records for DKIM selectors. Each selector is resolved independently; when a selector’s CNAME resolves to a DKIM TXT record, the API returns that record’s content in the resolved field of the corresponding entry.
CNAME records for DKIM selectors. Each selector is resolved independently; when a selector’s CNAME resolves to a DKIM TXT record, the API returns that record’s content in the resolved field of the corresponding entry.
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
cname_dmarc_records?: Array<CnamedmarcRecord>CNAME records at _dmarc. When such a CNAME resolves to a DMARC TXT record, the API returns that record’s content in the resolved field of the corresponding entry.
CNAME records at _dmarc. When such a CNAME resolves to a DMARC TXT record, the API returns that record’s content in the resolved field of the corresponding entry.
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
cname_spf_records?: Array<CnamespfRecord>CNAME records at the zone apex. When such a CNAME resolves to an SPF TXT record, the API returns that record’s content in the resolved field of the corresponding entry.
CNAME records at the zone apex. When such a CNAME resolves to an SPF TXT record, the API returns that record’s content in the resolved field of the corresponding entry.
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
dkim_records?: Array<DKIMRecord>DKIM TXT records
DKIM TXT records
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
dmarc_records?: Array<DMARCRecord>DMARC TXT records
DMARC TXT records
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
Deprecatedresolved_dmarc_records?: Array<ResolvedDMARCRecord>Use the resolved field on the corresponding entry in cname_dmarc_records instead.
DMARC records that a recursive lookup of _dmarc.{zone} returned. The API populates this only when the zone lacks a DMARC TXT record of its own, which usually means a CNAME delegates DMARC to another zone.
Use the resolved field on the corresponding entry in cname_dmarc_records instead.
DMARC records that a recursive lookup of _dmarc.{zone} returned. The API populates this only when the zone lacks a DMARC TXT record of its own, which usually means a CNAME delegates DMARC to another zone.
spf_records?: Array<SPFRecord>SPF TXT records
SPF TXT records
For a CNAME record, the TXT content(s) found by following the CNAME chain to its target. An empty array means the chain was resolved but nothing usable was found there; omitted/null means resolution was not attempted for this record (always the case for non-CNAME entries). A CNAME chain that terminates in more than one TXT value at the target yields multiple entries. Populated on entries in cname_dmarc_records, cname_spf_records, and cname_dkim_records.
status?: "missing-dmarc-report" | "multiple-dmarc-reports" | "missing-dmarc-rua" | 2 moreDMARC configuration status. The API omits this field when DMARC is correctly configured. If the zone lacks a DMARC TXT record of its own, the API resolves _dmarc.{zone} recursively and evaluates whatever that lookup returns. A CNAME at _dmarc.{zone} that points to a valid DMARC record is therefore healthy; the cname-on-dmarc-record value means the CNAME resolves to no DMARC record at all.
DMARC configuration status. The API omits this field when DMARC is correctly configured. If the zone lacks a DMARC TXT record of its own, the API resolves _dmarc.{zone} recursively and evaluates whatever that lookup returns. A CNAME at _dmarc.{zone} that points to a valid DMARC record is therefore healthy; the cname-on-dmarc-record value means the CNAME resolves to no DMARC record at all.
Email AuthSPF
Email AuthSPFInspect
Inspect SPF Record
ModelsExpand Collapse
InspectGetResponse { components, domain, record, 2 more } Recursive SPF inspection tree
Recursive SPF inspection tree
errors?: Array<Error>All errors encountered during inspection, collected from the entire tree.
This includes errors from nested includes at any depth, providing a quick
overview of all issues without needing to traverse the nested structure.
Each error includes a domain field to identify where it occurred.
Empty array if no errors (omitted from JSON when empty).
All errors encountered during inspection, collected from the entire tree.
This includes errors from nested includes at any depth, providing a quick
overview of all issues without needing to traverse the nested structure.
Each error includes a domain field to identify where it occurred.
Empty array if no errors (omitted from JSON when empty).
Error code. Known values:
lookup_failed— DNS TXT lookup failedspf_not_found— no SPF record foundinvalid_spf— record does not start withv=spf1invalid_domain— PSL validation failedloop_detected— include/redirect cycle detectedinvalid_mechanism— unrecognised or malformed mechanismresource_limit_exceeded— internal resource protection limits exceeded (recursion depth or query budget)max_lookups— RFC 7208 10-lookup limit exceeded