Reason code catalogue

Every code that can appear in reasons[].code, transcribed fromspec/reason-codes.md, the authored source of truth. The same catalogue is served machine-readably at GET /v1/reasons.

Reason code catalogue with severity, penalty, source, trigger and example message

SeverityCodePenaltySourceTriggerExample message
High severityHighSYNTAX_INVALID-100syntaxAddress fails RFC 5322 parsing.Address is not a syntactically valid email.
High severityHighDISPOSABLE_DOMAIN-60allowlist:disposableDomain itself is on the maintained disposable-domain list (e.g. mailinator.com).mailinator.com is a known disposable email domain.
High severityHighDISPOSABLE_MX-60dns:mx + allowlist:disposableDomain's MX record resolves to a disposable-mail provider's mail servers, even though the domain itself isn't listed.MX for this domain points at a known disposable mail provider.
High severityHighNO_MX-60dns:mxDomain has no MX record and no fallback A/AAAA usable for mail.Domain has no MX record; it cannot receive mail.
High severityHighDOMAIN_NOT_RESOLVING-60dnsDomain does not resolve at all (NXDOMAIN / SERVFAIL).gmial.com does not resolve.
High severityHighSPAM_TRAP-100heuristic:spamtrapAddress matches known spam-trap patterns/signatures.Address matches a known spam-trap pattern.
High severityHighMAILBOX_UNDELIVERABLE-60smtpLive SMTP probe (paid deliverability check) returns a hard bounce (5xx, mailbox does not exist).SMTP server reported this mailbox does not exist.
High severityHighCUSTOM_BLOCKLIST-100list:customEmail or domain matches an entry in the customer's own block list.Address is on your custom block list.
Medium severityMediumROLE_ACCOUNT-20heuristic:roleLocal part matches a known role/functional alias (admin, support, sales, noreply, …).support@ is a shared role account, not a personal mailbox.
Medium severityMediumCATCH_ALL-15smtpLive SMTP probe shows the domain accepts mail for any local part.Domain accepts mail for any address (catch-all); this address could not be individually verified.
Medium severityMediumDOMAIN_NEW-15rdapRDAP registration date is under 30 days old.Domain was registered 6 days ago.
Medium severityMediumTYPO_SUSPECTED-20heuristic:typoLocal/domain part is within edit-distance 1-2 of a well-known free provider.Did you mean [email protected]?
Medium severityMediumGIBBERISH_LOCAL_PART-15heuristic:entropyLocal part scores above the entropy/consonant-run threshold for human-generated text.Local part looks machine-generated rather than a human name.
Medium severityMediumABUSE_REPORTED-25feed:abuseAddress or domain appears in FWC's abuse-report feed within the retention window.This address has been reported for abuse in the last 90 days.
Low severityLowNO_SPF-5dns:spfDomain has MX but no SPF TXT record.Domain has no SPF record.
Low severityLowNO_DMARC-5dns:dmarcDomain has no DMARC TXT record.Domain has no DMARC record.
Low severityLowDMARC_NONE-5dns:dmarcDMARC record exists with p=none.DMARC policy is 'none' (monitor-only, not enforced).
Low severityLowSTALE_RESULT-3cacheResult served from cache with cache.age_seconds > 86400.Result is from cache and is over 24 hours old.
Info severityInfoFREE_PROVIDER0allowlist:freemailDomain matches the maintained free-webmail list.gmail.com is a well-known free mailbox provider.
Info severityInfoSUBADDRESS0syntaxLocal part contains a +tag (or provider-specific separator) that normalization strips.Plus-addressing detected; normalized form removes the tag.
Info severityInfoALLOWLISTED+5allowlist:freemail / allowlist:espDomain matches FWC's own curated allowlist.Domain is on FWC's verified-sender allowlist.
Info severityInfoCUSTOM_ALLOWLIST+5list:customEmail or domain matches an entry in the customer's own allow list.Address is on your custom allow list.
Info severityInfoEDUCATION_DOMAIN0heuristic:tld + providerDomain TLD/registry class resolves to education (.edu, national equivalents).university.edu is an educational institution domain.
Info severityInfoGOVERNMENT_DOMAIN0heuristic:tld + providerDomain TLD/registry class resolves to government (.gov, national equivalents).agency.gov is a government domain.

low and info reasons never change the verdict. Onlyhigh forces reject and medium forcesreview when no high reason is present.