Skip to content
Peritus
API reference · Changes

Get changes

GET/v1/changes

Typed change events after a cursor, in commit order.

scope
read
auth
Bearer key
operationId
GetChanges
MCP tool
get_changes

Parameters

Parameters
FieldInTypeRequiredLimits
cursorquerystringno
entityqueryEntityID[]noat most 100 items
fieldquerystring[]noat most 50 items
domainquerystring[]noat most 50 items
limitqueryintegerno1 to 500
modequerystrict · standard · broadno

Response

200 · ChangesResponse. The events after the cursor that the caller may see.

Response fields
FieldTypeHolds
response_idResponseIDA response's ID. It replays and compares that exact response.
statusanswered · partial · abstainedWhether there is an answer.
as_ofAsOfWhen the answer applies (valid_at), and what the record held then (known_at).
modestrict · standard · broadWhich items could be served. Each mode returns everything the one before it does.
presetstring · nullableThe key's preset, if any.
itemsItem[]The cited facts.
abstentionsAbstention[]Why part of the question has no answer.
negative_resultsNegativeResult[]What was searched, and found nothing.
withheldWithheld[]Items left out, by reason and count.
attributionsAttribution[]Text to repeat where you show the data.
metaMetaThe policy version, the index versions, and the milliseconds the server took.
eventsEvent[]
next_cursorstring

Rate-limit headers

RateLimit-Limit
The bucket's size.
RateLimit-Remaining
Tokens left in it.
RateLimit-Reset
Seconds until it is full.

Problems

RFC 9457 application/problem+json. An abstention is not one of these: it is a 200.

Problems
HTTPCodeWhen
400INVALID_REQUESTMalformed JSON, unknown fields, bad filter, limit exceeded
401UNAUTHENTICATEDMissing, malformed, or revoked key
403FORBIDDEN_SCOPEThe key lacks the required scope
429RATE_LIMITEDRate limit or per-tenant model cap
500INTERNAL, POLICY_ASSERT_FAILED, RESPONSE_UNREPLAYABLEServer fault. The last two also alert
503STORE_UNAVAILABLE, LLM_UNAVAILABLE, LOG_UNAVAILABLEA dependency is down or a budget tripped
504TIMEOUTA deadline was exceeded

Sample

Request
GET /v1/changes?limit=3
Sample response · GET /v1/samples/changes
{
  "abstentions": [],
  "as_of": {
    "known_at": "2026-10-28T14:34:53.240561Z",
    "valid_at": "2026-10-28T14:34:53.240561Z"
  },
  "attributions": [
    {
      "source_id": "ofac_sls",
      "text": "U.S. Department of the Treasury, Office of Foreign Assets Control (OFAC), Sanctions List Service"
    }
  ],
  "events": [
    {
      "cause": "SOURCE_CHANGED",
      "effective_at": null,
      "entity": {
        "id": "ent_06GR5VVHPDW2Q1HYD75X1W4YNM",
        "kind": "org",
        "name": "MOA NICKEL SA",
        "redirected_from": null
      },
      "event_id": "01a182ef-736f-7171-86ad-947fe506c214",
      "field": "sanctions.alias",
      "new_version_id": "fv_06GR5VVHQ5Z7HFDZT544B568SM",
      "occurred_at": "2026-10-28T14:33:52.635305Z",
      "old_version_id": null,
      "type": "added"
    },
    {
      "cause": "SOURCE_CHANGED",
      "effective_at": "1995-05-23T00:00:00Z",
      "entity": {
        "id": "ent_06GR5VVHPDW2Q1HYD75X1W4YNM",
        "kind": "org",
        "name": "MOA NICKEL SA",
        "redirected_from": null
      },
      "event_id": "01a182ef-736f-7419-9a93-cc26b21e4d68",
      "field": "sanctions.listing_date",
      "new_version_id": "fv_06GR5VVHQDZP96R0EWF7Y4JN2M",
      "occurred_at": "2026-10-28T14:33:52.635305Z",
      "old_version_id": null,
      "type": "added"
    },
    {
      "cause": "SOURCE_CHANGED",
      "effective_at": "1995-05-23T00:00:00Z",
      "entity": {
        "id": "ent_06GR5VVHPDW2Q1HYD75X1W4YNM",
        "kind": "org",
        "name": "MOA NICKEL SA",
        "redirected_from": null
      },
      "event_id": "01a182ef-736f-743c-ad0b-d8d705d21096",
      "field": "sanctions.listing_status",
      "new_version_id": "fv_06GR5VVHQHSDX77J2HD9CC6QH4",
      "occurred_at": "2026-10-28T14:33:52.635305Z",
      "old_version_id": null,
      "type": "added"
    }
  ],
  "items": [],
  "meta": {
    "index_versions": {},
    "policy_version": 1,
    "server_ms": 2
  },
  "mode": "strict",
  "negative_results": [],
  "next_cursor": "AAAAAAAAAAOtqa3JRaSo7hnoHBWiweng",
  "preset": null,
  "response_id": "resp_06GR5VVKQ1Z2K8TV3J6JX6JZ0M",
  "status": "answered",
  "withheld": []
}