metadata

What we hold, per jurisdiction and type

Answers "is it worth asking?" before a query comes back empty.

An empty result from /events or /features has always meant one of two opposite things — we have never carried that data, or we carry it and there is nothing right now — and nothing in the response separated them. This endpoint does.

Public metadata — no API key required.

Reads a summary the worker rebuilds hourly, so the answer is up to COVERAGE_REFRESH_INTERVAL stale: a type that started producing minutes ago can still read as empty.

What it does not tell you: why something is empty. A seasonal feed that is quiet by design and one that broke an hour ago look identical; latest_data_at narrows that and does not settle it. Nor does listing a jurisdiction here mean your plan may query it — coverage is about the data we hold, not entitlement.

get/coverage

Query parameters

jurisdictionstring

A single jurisdiction code. Omit it to get only the summary metadata — the per-type detail is over a thousand rows and is not returned unfiltered.

Response

Coverage for the requested jurisdiction

coveredboolean

False means we have never held anything for this jurisdiction — not that it is currently empty.

jurisdictionstring
refreshed_atstring date-time

When the in-memory summary was last rebuilt.

summary_rowsinteger

Number of (jurisdiction, type) pairs in the summary.

Example response

{
  "events": [
    {
      "row_count": 1820,
      "type": "cameras"
    }
  ],
  "features": [
    {
      "row_count": 1820,
      "type": "cameras"
    }
  ],
  "jurisdiction": "FRA",
  "warnings": [
    {
      "code": "unknown_jurisdiction",
      "did_you_mean": [
        "FRA"
      ],
      "message": "jurisdiction \"FR\" does not exist — did you mean FRA? GET /api/v1/jurisdictions lists every valid code.",
      "value": "FR"
    }
  ]
}

Changes