Changelog
Every change to the contract, by dated version.
Each response names its version in Gloom-Version. Send the header to pin one; an unknown version is a free 400 version_invalid.
GET /v1/datasets/changelog returns this list as JSON.
2026-10-21: One contract for every route
- Every response is
{data, meta}, reference routes included. - Errors are
{error: {type, code, message, param, requestId, docUrl}}. A 4xx is never charged. metarenamesasOf,historyStartsandlastUpdatedtodataThrough,historyStartandupdatedAt.disclaimerandnotebecomenotices[].meta.asOfis now the point in time you asked for, or null.- Every list pages with
limitand an opaquecursor;offsetand CongressfilingOffsetare gone.meta.pageandmeta.nextgive the next page. Withoutlimit, a route reads its default page size, which the OpenAPI document lists andmeta.page.limitnames.
7 more changes
- Every response sends
Gloom-Version,Request-Idand anETag;X-Request-Idis gone.If-None-Matchgets a free304. - Keyed responses send
RateLimit-Limit,RateLimit-RemainingandRateLimit-Reset. - No more plan fields (
access,locked,preview,proRequired,entitlement) or collection internals in payloads. A quote'sdataSourcebecomesdelayed: trueorfalse. - Values lose binary noise such as 77473014.05999999. CPI names each figure's basis in
data.basis. - No key:
WWW-Authenticate: Bearer realm="Gloom Datasets"withouterror, as RFC 6750 asks. - Job postings say
hasMoreinstead of counting every open role intotal. - Samples moved out of the OpenAPI document to each dataset's sample route, such as
/v1/datasets/gpu/sample.