01 / Start with a publication record
The public API is read-only and requires no key. Dates use YYYY-MM-DD and UTC. Decimal values are strings. Check the HTTP status and research designation before consuming a value.
The latest-fixing endpoint returns a stored publication. If no fixing has been published, it returns an explicit unavailable response; it does not silently substitute a calculation.
curl https://ipu.money/api/v2/fixings/latest
curl https://ipu.money/api/v2/status
# Full route and parameter definitions
curl https://ipu.money/api/v2/openapi.json02 / Public endpoints
GET /api/v2/fixings/latest — the latest stored original daily fixing. GET /api/v2/fixings/{fixingId} — an exact original or revision record.
GET /api/v2/history?basis=published — original publication records, with missed days left absent. GET /api/v2/history?basis=reconstructed — calculated history, labelled with its method and dataset. Provide start and end dates; use the returned next-page link to continue.
GET /api/v2/datasets/{datasetId} — the source snapshot identified by its canonical SHA-256 hash. GET /api/v2/sources/{sourceResponseHash} — the retained upstream response associated with a publication.
GET /api/v2/methodology/{version} — parameters, rounding, source policy and the official contingency register. GET /api/v2/revisions — separately identified corrections.
GET /api/v2/status — current publication and source-check status. GET /api/v2/events — recent publisher outcomes. GET /api/v2/openapi.json — machine-readable API contract.
GET /api/v2/history?basis=reconstructed&start=2025-12-01&end=2026-01-31&limit=31
GET /api/v2/methodology/0.2.0-research
GET /api/v2/methodology/0.1.0-research03 / Preserve the calculation context
Store the fixing ID, methodology version, dataset ID, valuation date, publication timestamp and revision number alongside any downstream calculation. Avoid converting decimal strings to binary floating point for payment arithmetic.
Reconstructed-history pages identify the dataset used. Follow the supplied continuation link so a source update between requests does not silently change the basis of a multi-page extraction. Missing dates are reported as unavailable, not replaced with zero.
Version 1 endpoints remain available for the legacy 0.1.0 BLS-only method. They are reconstructed research outputs and do not provide the version 2 publication contract. Consult the OpenAPI document for route-specific responses and parameter limits.
04 / Daily source checks
The publisher checks the official BLS API daily. CPI itself is monthly: the daily index changes through the declared interpolation rule, not through a daily release of CPI.
The task targets 15:30 UTC. Scheduling is best effort, so consumers must read the actual publishedAt timestamp and the status endpoint. Publication is flagged overdue after 16:30 UTC if no fixing exists for that day.
Before committing a publication, the service validates the response and source-series identity, checks for historical numeric changes, calculates the reference, and retains the accepted dataset and source response. A lock coordinates concurrent runs. Repeated calls preserve the first fixing for a date.
A failed source check or storage operation is surfaced in status. Previous accepted data remains identifiable. Deployment, persistent storage and a task secret are required for the scheduled publisher to run; the presence of a website alone does not establish that publication is active.
05 / Inspect this deployment
These controls make a request to this website and show its HTTP status and JSON response. A deployment awaiting configuration will show that state directly.