DEVELOPER DOCUMENTATION

Keep reason codes intact

Friendly labels make a report readable. Stable machine-readable codes keep integration behavior consistent.

INTEGRATION NOTEBOOK
// Keep the evidence intact
verification
  outcome   → application decision
  reason    → review context
  checked_at → freshness

// Conceptual fields, not a live schema
Explore result handling ↗
MAILCHECKUP / DOCS / RESULTS↘

Uncertainty is a result

Unknown, temporary, and provider-blocked outcomes need documented handling. Do not flatten them into invalid.

Model the outcome separately

Use one field for the verification category and another for your application decision. This allows policy changes without rewriting the original evidence.

Preserve unknown categories

When a result is unfamiliar, use a review state and record a sanitized diagnostic reference. Never use a catch-all default that accepts any non-invalid string.

Keep results time-specific

Store when the check happened. A past usable result does not prove present reachability, and an inconclusive result does not establish permanent invalidity.

Before you enable this workflow

ConfirmWhy it matters
Production contractUse documented fields, limits, and supported operations.
Failure policyDecide what the application does when a check cannot complete.
Data boundariesKeep credentials and customer data out of unnecessary logs.