dataset_version
dataset_version identifies what the API is serving: the loaded data and the
code that turns it into responses. Every response carries it in the envelope,
and it’s the value behind the ETag header on every response:
{"dataset_version": "e9c25a6", "data": {}}curl -D - -o /dev/null https://truefloat.app/api/v1/metaetag: "e9c25a6"Treat it as an opaque string: compare it for equality, never parse or order it.
What moves it, what doesn’t
Section titled “What moves it, what doesn’t”| change | dataset_version |
|---|---|
| a guide or item added, corrected or removed | changes |
| a fix to how responses are derived from the data (places, counts, aliases, response content) | changes |
| a docs, formatting or infrastructure deploy, this site included | unchanged |
That split matters for caching: a client’s ETag stays valid, and
If-None-Match keeps returning 304, across deploys that don’t change what
the API returns. When a response body can differ, the version changes with it.
See Caching & conditional requests for how to use it in
a poller.
GET /v1/meta
Section titled “GET /v1/meta”The cheapest way to check the current version and when it last loaded:
curl https://truefloat.app/api/v1/meta{ "dataset_version": "e9c25a6", "data": { "dataset_version": "e9c25a6", "loaded_at": "2026-09-25T16:31:05.095031+00:00", "counts": { "items": 298, "guides": 308, "aliases": 1312, "systems": 536, "gradings": 83836 } }}counts.items counts (def_index, paint_index) pairs. The counts above are
the dataset as of 2026-09-25; /v1/meta always has the current ones.