subnethistory docs
Open the appApp
API reference/History and archive

History and archive

Timeline focused responses and our own recorded changes.

Two endpoints for history focused clients: one returns the merged timeline without the rest of the report, the other returns only what SubnetHistory itself has recorded.

History

endpoint
GET /api/v1/history?q={query}

Runs the same lookup as /lookup but returns a cheaper payload for history focused views: query, timeline, insights, sources and meta only.

Each timeline event:

FieldTypeMeaning
atstringISO 8601 time of the event, or start of the interval.
untilstring or nullEnd of the interval, for interval events.
ongoingbooleanTrue while the interval is still open.
categorystringOne of registration, allocation, transfer, routing, rir, observed, tag, peeringdb.
titlestringWhat happened, in one line.
detailstring or nullThe specifics, when there are any.
sourcestringWhere the event came from. Events SubnetHistory detected itself are prefixed subnethistory:.
dataobjectExtra machine readable context for some event types.

Archive

endpoint
GET /api/v1/archive?q={query}

Returns only SubnetHistory's own records for the resource: change events written when a fetched record differed from its previous snapshot, plus persisted routing observations. This is the part of the history that grows the longer the service runs. Nothing is fetched upstream to answer it.

response
{
  "query": { "raw": "8.8.8.0/24", "kind": "prefix", "normalized": "8.8.8.0/24" },
  "changeEvents": [
    {
      "id": 412,
      "observedAt": "2026-07-02T11:40:12.000Z",
      "provider": "rdap",
      "dataset": "network",
      "eventType": "changed",
      "summary": "registration record changed",
      "snapshotId": 9182
    }
  ],
  "routingObservations": [
    {
      "prefix": "8.8.8.0/24",
      "originAsn": 15169,
      "startedAt": "2026-01-14T00:00:00",
      "endedAt": null,
      "peersSeeing": 312,
      "source": "ripestat"
    }
  ]
}
FieldMeaning
changeEventsUp to 500 most recent detected changes for the resource, newest first.
changeEvents[].summaryA short description of what moved between snapshots.
routingObservationsOrigin announcements SubnetHistory has persisted for the space, with their visibility windows.
routingObservations[].peersSeeingHow many full BGP peers saw the announcement.

A 400 is returned when the query cannot be interpreted.

Last updated 2026-08-09subnethistory.com