---
title: "Freshness"
method: GET
path: "/v1/freshness"
---

# Freshness

`GET /v1/freshness`

## Request

- Base URL: `https://api.anteproof.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.anteproof.com/v1/freshness`
- Auth: none declared

How fresh the public read copy is, from the stamp the hourly import
swaps in WITH the data (r141 design §3c).

``imported_at`` is when the copy being served was cut over: it stops
moving when the push stops cutting over. ``data_through`` is the newest
``entity_metric_daily.day`` in that copy: it stops moving when upstream
data stalls, whatever the push does. Both come from one row read in one
statement.

Fail closed: if ``public_import_stamp`` is missing, empty, or has a null
field, this answers 503 with a JSON ``detail.code`` -- never a 200 with
a field missing or null, because an absent field reads as "fine" to a
human and as "predates the stamp" to a monitor. Where no import has run
(Halo, the lab, local dev) that is the correct answer: the freshness of
a copy nobody imported is unknown. The monitor treats 404/503/garbage as
INCONCLUSIVE (§3c.1 item 5), never as fresh.

## Response `200`

Successful Response

- object

---

[API](https://skmtc.dev/anteproof/apis/anteproof-api.md) · [All operations](https://skmtc.dev/anteproof/apis/anteproof-api/llms.txt) · [OpenAPI document](https://skmtc.dev/anteproof/apis/anteproof-api/revisions/c0d5ac701f1e?raw)
