output.enrichment.<kind>. Under the v2 contract, every
configured and enabled source has a terminal block even when it has no payload.
Block fields
| Field | Type | Required | Meaning |
|---|---|---|---|
kind | string | yes | Registered source identifier; matches the map key. |
status | enum | yes | succeeded, not_mapped, skipped, ambiguous, or unavailable. |
attempted | boolean | yes | Whether this run made an upstream attempt. A cache hit or pre-call skip is false. |
payload | object | conditional | Required for succeeded and not_mapped; absent otherwise. |
fetched_at | date-time | no | Time of the upstream result. Cache hits retain the original time. |
diagnostics | array | no | Source-scoped copy of matching top-level diagnostics. |
assets/enrichment_outcomes_v2.json.
The machine-readable schema is EnrichmentOutcomeBlock in the OpenAPI file.
Consumer logic
Branch onstatus, not block or payload presence:
succeeded: consume the payload.not_mapped: record that the source returned no mapped feature, but do not interpret it as no risk. The FEMA summary is observational and does not feed deterministic rules.skipped: inspect diagnostics for missing input, address quality, or precision.attemptedis false when no upstream call occurred.ambiguous: do not select a feature yourself. The source returned conflicting data and Nexio intentionally withheld a fact.unavailable: the quote result remains usable, but the enrichment signal is absent because of budget, transport, retry, breaker, schema, or internal serialization failure.
Compatibility and non-guarantees
ENRICHMENT_OUTCOME_V2 is a deployment-controlled rollout flag. With the flag
off, the legacy payload-only block remains and non-success blocks are absent.
Strict consumers must accept optional payload and fetched_at before v2 is
enabled for their traffic.
FEMA flood_zone_confidence is address in the legacy payload and rooftop
in v2. The legacy payload omits unknown sfha and
base_flood_elevation_feet; a successful v2 FEMA payload emits both as
explicit JSON null when unknown.
FEMA degraded and circuit-open diagnostics also use flag-conditional upstream
tokens. V2 emits details.upstream as google_geocoding or nfhl; the legacy
wire remains geocoder or fema_nfhl while the flag is off.
Public Google and FEMA data can be incomplete or stale and does not replace a
paid flood determination. not_mapped does not mean no flood risk. A cache hit
may replay a successful result fetched up to 24 hours earlier. The lookup has
an 8-second hard deadline; 5 seconds is the service objective, not a per-call
guarantee.