| version | literal= 1.3.17 | The contract version this response was produced under; the same value as X-API-Version. |
| generated_at | string (date-time) | When this response was computed. Every age_seconds below is measured from this instant, so the block is internally consistent even when read from a cache. |
| cache | object | Always no-store with zero max-age at every layer: a status page that could be served stale would defeat itself. age_header is null because no cache is permitted to add one. |
| cache.policy | literal= no-store | The cache contract this response was served under; always no-store for a measurement. Rendered as Cache-Control: no-store, max-age=0 with CDN-Cache-Control and Vercel-CDN-Cache-Control: no-store, and echoed in X-Veridion-Cache-Policy. |
| cache.browser_max_age_seconds | literal= 0 | Seconds a browser or client cache may reuse this body without revalidating; 0, the max-age the Cache-Control header carries. |
| cache.cdn_max_age_seconds | literal= 0 | Seconds the CDN may reuse this body; 0, because CDN-Cache-Control is no-store. Public record responses declare a nonzero value here; measurements never do. |
| cache.declared_max_staleness_seconds | literal= 0 | The upper bound on how old this body can be when it reaches a client, counted from generated_at; 0 for a measurement, and the same number the X-Veridion-Cache-Max-Staleness header carries. |
| cache.age_header | null | The name of the response header that reports how long a cache held this body, or null when no cache is permitted to hold it, as here. Public record responses name the Age header. |
| state | enumready · degraded · unavailable | ready when no check below is failing. degraded when any source is stale or unavailable, the export is stale, unavailable or missing its merkle_root, coverage recovery is stale or unavailable, the Congress summary is stale, unavailable or unattested, a temporal-conformance contract fails, the temporal window is unreadable, the House index lists unaccounted filings, or a pipeline job is not delivering. unavailable when the status itself could not be measured. The endpoint never reports a state more optimistic than its own arithmetic: a stored 'ready' older than its threshold is reported stale. |
| detailoptional | string | Present only on the unavailable body, naming what could not be read. |
| temporal_window | object | How far back as_of reads can go. The floor is the activation instant of retained payload history; depth is the time since. Neither says anything about filing completeness before the floor, which is what /v1/coverage measures. |
| temporal_window.state | enumavailable · unavailable | available when the temporal dataset-state resolver answered; unavailable when it did not, which degrades the endpoint with the reason in detail. |
| temporal_window.point_in_time_floor | string (date-time) | null | Inclusive millisecond boundary from the same temporal dataset-state resolver used by disclosure queries; null if unreadable. |
| temporal_window.depth_days | number | null | Unrounded (measured_at - point_in_time_floor) / 86400000 milliseconds. Temporal depth is not filing completeness; null means unmeasured. |
| temporal_window.measured_at | string (date-time) | The instant depth_days was measured against; equals generated_at. |
| temporal_window.retention_regime | literal= growing | Retained versions are close-only and generations append-only; the current mechanism has no age-based rolling prune. |
| temporal_window.basis | string | The sentence stating how the floor and depth are measured, carried on every response. |
| temporal_window.detail | string | null | Why the window is unavailable, when it is; null when available. |
| degraded_reasons | array | Which checks pulled state down, and the measurement behind each. Empty when state is 'ready', and empty when state is 'unavailable' because nothing could be measured. This names the cause; it does not change when the endpoint reports degraded. |
| degraded_reasons[].check | string | The check that failed, named as the block it lives in: source:<system>, source:<system>:index_reconciliation, bulk_export, bulk_export:merkle_root, coverage_recovery, congress_public_summary, temporal_conformance, temporal_window, pipeline:attendance, or pipeline:<cron>. |
| degraded_reasons[].measured | string | The measurement behind the failure, quoted with its numbers and timestamps, so a caller can act on it without diffing the block it came from. |
| sources | array | Freshness of every source Veridion polls, measured from the same table the serving views read. One entry per source system, including the ones that publish nothing. |
| sources[].source_system | string | null | house_clerk, senate_efd, oge or sec_edgar. sec_edgar is listed in no_data state as a declared scope boundary, so a reader learns it from the response rather than from a query that returns nothing. |
| sources[].state | string | ready: the last poll succeeded within expected_max_age_seconds. stale: the stored state says ready but last_success_at is older than the threshold; the worse of the two is reported. source_unavailable: the most recent poll failed. no_data: the source publishes no rows into v1 by policy. unknown: the stored state was unreadable. |
| sources[].last_success_at | string | null | When the source was last polled successfully; null if never. |
| sources[].failure_since | string | null | When the current run of failed polls began; null while polls succeed. |
| sources[].age_seconds | number | null | generated_at minus last_success_at, in whole seconds; null when there is no success to measure from. |
| sources[].expected_max_age_seconds | number | null | The age past which the source reads stale: 86400 for House Clerk and Senate eFD, 3888000 (45 days) for OGE annual filings, null for sec_edgar which has no poll to age. |
| sources[].threshold_basis | string | null | An operational alerting threshold chosen by Veridion. Not a service commitment; commercial terms live in a license. |
| sources[].detail | string | null | The stored explanation for the state, as the poller recorded it; the no_data boundary statement for sec_edgar. |
| sources[].index_reconciliation | object | null | The government's own index reconciled against what this API serves, when a source publishes an index we can read (House Clerk PTR search). Age says when we last succeeded; this says whether the index lists filings we do not yet account for. Null for sources without a readable index. |
| sources[].index_reconciliation.state | enumcurrent · unaccounted · index_unavailable · unmeasured | current: every document on the index since cutoff_date is accounted for (parsed, or terminal without qualifying rows). unaccounted: at least one is not. index_unavailable: the government index could not be read at the last check. unmeasured: no reconciliation newer than expected_max_age_seconds. |
| sources[].index_reconciliation.checked_at | string (date-time) | null | When the hourly ingest run last reconciled the House Clerk's searchable PTR index against the warehouse; null when no reconciliation has been stored. |
| sources[].index_reconciliation.age_seconds | number | null | generated_at minus checked_at, in whole seconds, floored at zero; null when checked_at is null. |
| sources[].index_reconciliation.expected_max_age_seconds | number | The age past which the reconciliation is reported unmeasured: 21600 (6 h), the same threshold as the Congress summary, because the same hourly ingest cadence refreshes both. An operational alerting threshold, not a service commitment. |
| sources[].index_reconciliation.cutoff_date | string (date) | null | The earliest filing date the reconciliation examined: the check date minus 14 days. Documents filed before it are outside this measurement. |
| sources[].index_reconciliation.documents_on_index | integer | null | Documents the Clerk's index listed with a filing date on or after cutoff_date at the last check; null when the index could not be read. |
| sources[].index_reconciliation.parsed_documents | integer | null | Of documents_on_index, those the parser finished with qualifying rows that are served. |
| sources[].index_reconciliation.terminal_without_rows | integer | null | Documents the parser finished and found no qualifying transaction rows in; accounted for, not served. |
| sources[].index_reconciliation.unaccounted_documents | integer | null | Documents on the index since cutoff_date that are neither served nor terminal without rows, plus any document the discovery pass could not fetch. Any value above zero degrades the endpoint. |
| sources[].index_reconciliation.latest_index_filing_date | string (date) | null | The newest filing date among documents_on_index; null when there are none. |
| sources[].index_reconciliation.latest_served_filing_date | string (date) | null | The newest filing date among parsed_documents; the gap to latest_index_filing_date is the visible lag of the served corpus behind the government index. |
| sources[].index_reconciliation.unaccounted_sample | array | Up to five unaccounted documents with the recorded reason. |
| sources[].index_reconciliation.unaccounted_sample[].doc_id | string | The House Clerk DocID of the unaccounted filing. |
| sources[].index_reconciliation.unaccounted_sample[].filing_date | string (date) | null | The filing date the index lists for it; null when the index gave none. |
| sources[].index_reconciliation.unaccounted_sample[].reason | string | The recorded overlay status and reason, as status:reason, or overlay_row_missing when the document was never attempted, truncated to 200 characters. |
| bulk_exportoptional | object | The daily bulk snapshot: its day, generation, size, file hash and Merkle commitment. Absent only on the unavailable body. |
| bulk_export.state | string | ready: the latest daily snapshot manifest is readable and younger than expected_max_age_seconds. stale: older. unavailable: the manifest could not be read. no_snapshot_yet: none has been written. |
| bulk_export.latest_snapshot_day | string | null | The UTC day the newest snapshot was pinned to, the same day /v1/export names. |
| bulk_export.generated_at | string | null | When the newest snapshot finished writing and its manifest was recorded. |
| bulk_export.snapshot_generation | integer | null | The temporal generation the snapshot was pinned to; the same value as_of reads and /v1/export report for that day. |
| bulk_export.row_count | integer | null | Rows in the snapshot file after validation; the leaves the merkle_root commits to. |
| bulk_export.rows_dropped_failed_validation | integer | null | Rows the serving view returned that failed the contract schema and were left out of the file rather than written broken. Zero is the expected value; a positive count is published, never hidden. |
| bulk_export.byte_size | integer | null | Size in bytes of the stored snapshot file, as verified after writing. |
| bulk_export.sha256 | string | null | sha256, hex, of the stored snapshot file. Verify a download against it before reading. |
| bulk_export.merkle_root | string | null | Merkle root over every row's content_hash in the export: leaves in disclosure_id order, sha256 over the concatenated 32-byte child digests, an odd node paired with itself. Recomputed from the stored bytes before the manifest was written. Null for a snapshot generated before 1.3.6. scripts/verify-disclosure-export.mjs recomputes it from a downloaded export with no network and compares it with this value. |
| bulk_export.content_hash_basis | string | null | The content_hash basis the leaves were hashed under (veridion-disclosure-content-v1). Set exactly when merkle_root is set. |
| bulk_export.age_seconds | number | null | generated_at minus the snapshot's generated_at, in whole seconds. |
| bulk_export.expected_max_age_seconds | number | 108000 (30 hours): the snapshot runs daily at 07:40 UTC, so one slow run passes and a fully missed day is flagged before a second day of silence. |
| bulk_export.threshold_basis | string | An operational alerting threshold chosen by Veridion. Not a service commitment; commercial terms live in a license. |
| bulk_export.detail | string | null | Why the export is not ready, when it is not; null when ready. |
| observation_delayoptional | object | Hours from a filing's filed_date to Veridion's first observation, per source. Published only over rows with verified continuity; withheld with the reason otherwise. Absent only on the unavailable body. |
| observation_delay.state | enummeasured · partial · unavailable | measured when every eligible source has a published distribution; partial when some do; unavailable when none does. Never degrades the endpoint: an unpublished distribution is a disclosed limit, not a failure of served rows. |
| observation_delay.computed_at | string | When the observation-delay report was computed; the same report /data-api renders. |
| observation_delay.basis | string | The sentence stating the measurement and its eligibility rule, carried on every response. |
| observation_delay.sources | array | One entry per eligible source, measured or unevaluated with its record. |
| observation_delay.sources[].state | literal= measured | A distribution is published for this source. |
| observation_delay.sources[].source_system | enumhouse_clerk · senate_efd | The source measured. OGE is excluded by policy: one annual document is one event, not a distribution. |
| observation_delay.sources[].observation_started_on | string | The configured day continuous observation of this source began. |
| observation_delay.sources[].window_start | string | Earliest filed_date of a row in the distribution. |
| observation_delay.sources[].window_end | string | Latest filed_date of a row in the distribution. |
| observation_delay.sources[].measured_rows | integer | Rows in the distribution: served rows whose source has verified daily continuity for every day between filed_date and first observation. |
| observation_delay.sources[].median_hours | number | Median of first_observed_at minus filed_date, in hours, over measured_rows. |
| observation_delay.sources[].p95_hours | number | null | 95th percentile in hours; null when withheld under 100 rows. |
| observation_delay.sources[].max_hours | number | The largest observation delay in the distribution, in hours. |
| observation_delay.sources[].percentile_state | enummeasured · withheld_small_n | withheld_small_n when measured_rows is under 100, in which case p95_hours is null. |
| pipelineoptional | object | Attendance of the jobs that produce this API's data, from the cron attendance store. Absent only on the fail-closed 503 body. A missed, died or never-run job, a failed export run, or an unreadable store degrades the endpoint by name. |
| pipeline.state | enumready · degraded · unavailable | degraded when any listed job is not delivering: no successful completion since its most recent due slot, its latest run died, it has never run, or (export job only) its latest run failed. unavailable when the attendance store could not be read, which also degrades the endpoint. |
| pipeline.measured_at | string | When attendance was evaluated; the 24-hour window ends here. |
| pipeline.observation_started_at | string | null | When the attendance instrument was installed. Due slots are counted only after this instant. |
| pipeline.instrumented_jobs | integer | Deprecated in 1.3.14; the same value as instrumented_invocations. Kept for additive compatibility. |
| pipeline.unwrapped_jobs | integer | Deprecated in 1.3.14; the same value as unwrapped_invocations. |
| pipeline.scheduled_jobs | integer | Deprecated in 1.3.14; the same value as scheduled_invocations. |
| pipeline.instrumented_invocations | integer | Distinct scheduled invocations (pathname plus query) whose route records attendance. One route scheduled under several query shapes counts once per shape, because a due slot belongs to one invocation. |
| pipeline.unwrapped_invocations | integer | Distinct scheduled invocations whose route records no attendance. |
| pipeline.scheduled_invocations | integer | instrumented_invocations plus unwrapped_invocations: every distinct invocation in vercel.json. |
| pipeline.instrumented_routes | integer | Distinct cron pathnames that record attendance. This is the coverage figure: read it, not the invocation pair, when asking how much of the cron surface is watched. |
| pipeline.unwrapped_routes | integer | Distinct cron pathnames that record no attendance. |
| pipeline.scheduled_routes | integer | instrumented_routes plus unwrapped_routes: every distinct cron pathname in vercel.json. |
| pipeline.schedule_entries | integer | Lines in vercel.json's cron list. Exceeds scheduled_invocations when one URL carries more than one schedule. |
| pipeline.deprecated_fields | array | Fields in this block that are kept for compatibility and should not be read for new work. |
| pipeline.field_successors | object | For each deprecated field, the field that carries the same value under its correct name. |
| pipeline.basis | string | The full statement of how attendance is measured: the store, the two units, slot attribution and its tolerance, and what each job state means. Carried on every response so the numbers never travel without their rules. |
| pipeline.detail | string | null | Why the block is unavailable, when it is; null otherwise. |
| pipeline.jobs | array | The jobs that produce this API's data, one entry per invocation shape observed or scheduled. |
| pipeline.jobs[].cron_name | string | The invocation as scheduled: pathname plus query string, exactly as vercel.json lists it. |
| pipeline.jobs[].schedules | array | Every cron expression vercel.json schedules this invocation under; empty when it appears in none. |
| pipeline.jobs[].scheduled_job | boolean | false for an invocation shape that appears in no vercel.json entry. It has no due slots and cannot miss one; it is listed rather than hidden. |
| pipeline.jobs[].state | enumunwrapped · unevaluated · never_ran · missed · running · died · failed · wrote_zero · write_count_unavailable · succeeded | The job now, not the last 24 hours. missed: a due slot with no run attributed. died: the latest attempt started and never finished within its ceiling. failed: the latest run returned an error. wrote_zero: the latest run succeeded and wrote no rows. write_count_unavailable: succeeded, count unreadable. running: the latest run has not finished and is within its ceiling. never_ran: no run recorded although slots were due. unevaluated: attendance could not be read, or no run and no due slot yet. unwrapped: the route records no attendance. Precedence in that order when several apply. |
| pipeline.jobs[].expected_slots_24h | integer | null | Due slots in the window, from the schedules, counted only after observation_started_at. |
| pipeline.jobs[].observed_slots_24h | integer | null | Due slots in the window that a run was attributed to. |
| pipeline.jobs[].missed_count_24h | integer | null | expected_slots_24h minus observed_slots_24h. |
| pipeline.jobs[].unattributed_runs_24h | integer | null | Runs that started in the window and attribute to no due slot, counted rather than dropped, because they ran. |
| pipeline.jobs[].died_count | integer | null | Runs in the window that started and never finished within their ceiling, including ones a later run has since superseded. History; the state field describes now. |
| pipeline.jobs[].last_ok | string | null | When the job last completed successfully; null if never. |
| pipeline.jobs[].latest_run | object | null | The most recent run of this invocation; null when it has never run. |
| pipeline.jobs[].latest_run.started_at | string | When the latest run started. |
| pipeline.jobs[].latest_run.finished_at | string | null | When the latest run finished; null while running or after it died. |
| pipeline.jobs[].latest_run.ok | boolean | null | Whether the latest run reported success; null until it finishes. |
| pipeline.jobs[].latest_run.rows_written | integer | null | Rows the latest run wrote, in the unit rows_written_basis names; null when the run did not report one. |
| pipeline.jobs[].latest_run.rows_written_basis | string | What rows_written counts, named per route, because a row means different things to different jobs. |
| pipeline.jobs[].latest_run.http_status | integer | null | The HTTP status the run returned; null while running. |
| pipeline.jobs[].latest_run.error | string | null | The run's own error text, with credentials and URLs redacted; null on success. |
| coverage_recoveryoptional | object | Where House Clerk document recovery stands: how many documents are parsed, queued, failing, terminally failed, or withheld by the lossless-reparse check. Absent only on the unavailable body. |
| coverage_recovery.state | enumready · recovery_in_progress · complete_with_terminal_gaps · stale · unavailable | ready: every House document is parsed or terminal and the stamped measurement is current. recovery_in_progress: documents remain pending or in progress. complete_with_terminal_gaps: nothing pending, but some documents ended in a terminal failure. stale: the stamped measurement is older than its budget. unavailable: it could not be read. Any state other than ready degrades the endpoint with the measurement quoted, as does a refresh_outcome other than succeeded. |
| coverage_recovery.computed_at | string | null | When the stamped coverage measurement was computed. |
| coverage_recovery.is_stale | boolean | true when computed_at is older than the measurement's own stale_after budget. |
| coverage_recovery.documents_total | integer | null | House Clerk PTR documents known to the recovery ledger. |
| coverage_recovery.pending | integer | null | Documents queued for a parse or reparse and not yet attempted. |
| coverage_recovery.in_progress | integer | null | Documents with an attempt under way. |
| coverage_recovery.failed | integer | null | Documents whose latest attempt failed and will be retried. |
| coverage_recovery.failed_terminal | integer | null | Documents whose attempts are exhausted; no further retry is scheduled and no rows are served from them. |
| coverage_recovery.parser_reparse_row_loss | integer | null | Documents where a reparse produced fewer rows than were served before and the lossless check rejected the replacement. Those documents are absent from the API rather than served with a lossy replacement. |
| coverage_recovery.refresh_outcome | object | The latest recorded refresh of the coverage measurement, so a reader can tell a fresh number from a stale one. |
| coverage_recovery.refresh_outcome.state | enumsucceeded · failed · unevaluated · unavailable | The recorded outcome of the latest coverage refresh; unevaluated when none has been recorded; unavailable when the record could not be read. |
| coverage_recovery.refresh_outcome.stage | enum | nullparser_state · coverage_snapshot · complete | The stage the latest refresh reached: parser_state, then coverage_snapshot, then complete. |
| coverage_recovery.refresh_outcome.attempted_at | string | null | When the latest refresh started. |
| coverage_recovery.refresh_outcome.completed_at | string | null | When the latest refresh finished; null if it did not. |
| coverage_recovery.refresh_outcome.age_seconds | number | null | generated_at minus completed_at, in whole seconds. |
| coverage_recovery.refresh_outcome.rows_examined | integer | Documents the refresh examined to produce the counts above. |
| coverage_recovery.refresh_outcome.parser_state_duration_ms | integer | null | Milliseconds spent in the parser_state stage. |
| coverage_recovery.refresh_outcome.coverage_refresh_duration_ms | integer | null | Milliseconds spent in the coverage_snapshot stage. |
| coverage_recovery.refresh_outcome.route_duration_ms | integer | null | Milliseconds for the whole refresh route invocation. |
| coverage_recovery.refresh_outcome.error_code | string | null | The stable code of the failure, when the refresh failed; null otherwise. |
| coverage_recovery.refresh_outcome.detail | string | null | The failure's own text, or why no outcome could be read; null on success. |
| coverage_recovery.detail | string | null | Why the block is stale or unavailable, when it is; null otherwise. |
| congress_public_summaryoptional | object | The Congress public summary that /api/congress/summary serves, its age, and whether the newest owner outcome attests to it. Absent only on the unavailable body. |
| congress_public_summary.state | enumready · stale · unavailable · unattested · succeeded · failed · unevaluated · running · stalled | ready: the newest successful refresh outcome attests to the served summary. unattested: the summary's refreshed_at is newer than any recorded outcome, so the served figures were written by a path that did not record its outcome. stale/unavailable: age or read failure. The remaining values echo refresh_outcome.state when no better word applies; 'succeeded' is no longer emitted. |
| congress_public_summary.refreshed_at | string (date-time) | null | When the served Congress summary was last rewritten, in the warehouse's own timestamp form. |
| congress_public_summary.age_seconds | number | null | generated_at minus refreshed_at, in whole seconds. |
| congress_public_summary.expected_max_age_seconds | number | 21600 (6 hours): the summary's independently scheduled owner runs every four hours. |
| congress_public_summary.threshold_basis | string | An operational alerting threshold chosen by Veridion. Not a service commitment; commercial terms live in a license. |
| congress_public_summary.warehouse_rows | integer | null | Congressional warehouse rows the summary was computed over, including rows not yet qualified for the API. |
| congress_public_summary.refresh_outcome | object | The newest outcome recorded by the summary's owner, which is what attests the served figures. |
| congress_public_summary.refresh_outcome.state | enumsucceeded · failed · unevaluated · running · stalled · unavailable | The newest recorded outcome of the summary's owner: succeeded or failed at a stage, running while an attempt is open, stalled when an open attempt has outlived its ceiling, unevaluated when none is recorded, unavailable when the ledger could not be read. |
| congress_public_summary.refresh_outcome.attempt_id | string | null | The owner attempt this outcome belongs to. Every refresh of the summary records one; a summary refreshed without one reads unattested. |
| congress_public_summary.refresh_outcome.stage | enum | nullpreflight · amount_coverage · public_summary · disclosure_aggregates · verification · complete | The stage the attempt reached, in order: preflight, amount_coverage, public_summary, disclosure_aggregates, verification, complete. |
| congress_public_summary.refresh_outcome.started_at | string (date-time) | null | When the attempt started. |
| congress_public_summary.refresh_outcome.observed_at | string (date-time) | null | When the terminal event was recorded. |
| congress_public_summary.refresh_outcome.age_seconds | number | null | generated_at minus observed_at, in whole seconds. |
| congress_public_summary.refresh_outcome.rows_examined | integer | Warehouse rows the attempt examined; zero on a failure before the summary stage. |
| congress_public_summary.refresh_outcome.warehouse_rows | integer | null | Warehouse rows at the time of the attempt, as the owner counted them. |
| congress_public_summary.refresh_outcome.summary_refreshed_at | string (date-time) | null | The refreshed_at the attempt stamped on the summary. When this equals the block's refreshed_at, the served summary is attested by this outcome. |
| congress_public_summary.refresh_outcome.amount_coverage_duration_ms | integer | null | Milliseconds in the amount_coverage stage. |
| congress_public_summary.refresh_outcome.public_summary_duration_ms | integer | null | Milliseconds in the public_summary stage. |
| congress_public_summary.refresh_outcome.disclosure_aggregates_duration_ms | integer | null | Milliseconds in the disclosure_aggregates stage. |
| congress_public_summary.refresh_outcome.total_duration_ms | integer | null | Milliseconds for the whole attempt. |
| congress_public_summary.refresh_outcome.error_code | string | null | The stable code of the failure, when the attempt failed; null otherwise. |
| congress_public_summary.refresh_outcome.detail | string | null | The failure's own text; null on success. |
| congress_public_summary.detail | string | null | Why the summary is not ready, when it is not; null when ready. |
| temporal_conformanceoptional | object | The four temporal contracts, verified against the pinned bulk snapshot. A failing contract degrades the endpoint by name. Absent only on the unavailable body. |
| temporal_conformance.state | enumready · degraded · unavailable | ready when every contract passed on the pinned snapshot; degraded when any failed; unavailable when the snapshot could not be read. |
| temporal_conformance.computed_at | string | null | When the contracts were last verified, against the pinned bulk snapshot. |
| temporal_conformance.contracts | array | One entry per contract, T1 through T4. |
| temporal_conformance.contracts[].contract | enumT1 · T2 · T3 · T4 | T1: point-in-time reads exclude later versions. T2: pagination stays fixed while writes continue. T3: incremental sync reconstructs the full set. T4: restatements preserve permanent row identity. |
| temporal_conformance.contracts[].state | enumpass · fail · unevaluated | pass with zero violations; fail with the count; unevaluated when the evidence is missing. |
| temporal_conformance.contracts[].violations | integer | null | Rows that broke the contract; null when unevaluated. |
| temporal_conformance.contracts[].rows_examined | integer | Rows the contract was checked over. |
| temporal_conformance.contracts[].verified_on | string | null | The UTC day the contract was last verified. |
| institutional_delivery | object | A declared boundary, stated rather than discovered. |
| institutional_delivery.available | literal= false | Always false in v1: no institutional delivery channel is offered through this endpoint. |
| institutional_delivery.reason | literal= first_party_provenance_not_proven | The declared reason: first-party provenance for institutional delivery has not been proven and is not claimed. |
| noticeoptional | string | Standing guidance on reading this block: what no_data means, what degraded does and does not imply, and how to verify a download. |