---
title: "How fresh the served parcel snapshot is"
method: GET
path: "/api/v1/freshness"
tags: ["Coverage"]
---

# How fresh the served parcel snapshot is

`GET /api/v1/freshness`

## Request

- Base URL: `https://propraven.com`
- URL: `https://propraven.com/api/v1/freshness`
- Auth: one of:
  - HTTP bearer
  - none

Two different clocks for the served national parcel snapshot. `content_as_of` is the CONTENT date of the served data: how current the records in it are. How it is measured is named in `content_date_basis` and explained in `content_date_note` (read both; the basis can change). `swapped_at` is the time the serving slot was last swapped, i.e. when the current snapshot went live; a swap re-serves data, it does not refresh it, so `swapped_at` can be weeks newer than `content_as_of`. `snapshot_built_at` is when that snapshot was built, `updated_at` mirrors `swapped_at` and `last_enriched_at` mirrors `content_as_of` (both kept for older clients). All values are national: a state still served from an earlier epoch is not reported separately here. Free; anonymous callers are IP-throttled.

## Response `200`

Freshness.

- object
  - `content_as_of` string, required: Content date of the served data (ISO-8601 UTC): how current the records in the served snapshot are, measured as `content_date_basis` says. Not the swap time.
  - `last_enriched_at` string, required: Same value as `content_as_of` (kept for older clients).
  - `content_date_basis` string, required: How `content_as_of` is measured, e.g. `source_collection_vintage_median`.
  - `content_date_note` string, required: Plain-language definition of `content_as_of` for the current basis, with its limits.
  - `content_median_date` string, required
  - `content_max_date` string, required
  - `content_oldest_date` string, required
  - `content_source_count` integer, required
  - `content_active_source_count` integer, required
  - `swapped_at` string, required: When the serving slot was last swapped (the current snapshot went live). A swap does not make the content newer; compare with `content_as_of`.
  - `updated_at` string, required: Same value as `swapped_at` (kept for older clients).
  - `snapshot_built_at` string, required: When the served snapshot was built.
  - `parcel_count` integer, required

## Other responses

- `405`: The endpoint exists but does not support this method. `Allow` lists the methods it does.
- `429`: Rate limit exceeded.
- `500`: Unexpected server error. The body never carries database or driver text.

---

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