Status

Live API endpoint health & data-source freshness · ingestion runs several times a day, index published daily

API endpoint health

Every consumer endpoint is probed automatically after each deploy and classified as ok, gap (responded, but empty or missing expected fields), slippage (data older than that endpoint's freshness budget), drift (response shape changed — a breaking change for typed clients), or breakage (did not respond). Reads /api/v1/status/api-health live — free, no key required. Shape-stability policy is on the changelog.

Loading live endpoint health…

Source freshness

This section reads /api/v1/sources/status live. Data through is the newest reference period inside the source — for monthly releases it legitimately trails today (the BLS CPI report released mid-July carries June observation dates). Ingested is when the pipeline last pulled the source — that is the freshness signal.
BLS appears as three rows, on purpose. BLS publishes its consumer-price, producer/import-price and employment releases on different calendars, so each BLS row reports the reference period of its own release schedule. One combined “data through” date would state the truth about the fastest series while implying it of the slowest. In the first half of a month the three rows legitimately show different reference months — that is the release calendar, not drift. They share one ingest timestamp because one fetch either succeeded or it did not.
When an upstream source is down, the published figures do not move — and nothing is lost. A failed fetch stores nothing and deletes nothing, so the last published values for that source keep serving every downstream measure. Recovery is automatic: the next successful pull re-reads the source's full history, picking up anything released or revised during the outage, so no observation is skipped by having been unreachable at the moment we asked for it. A source in that state shows an unchanged “data through” date here until it returns.

Loading live source status…