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
| Field | In | Type | Required | Limits |
|---|---|---|---|---|
| cursor | query | string | no | |
| entity | query | EntityID[] | no | at most 100 items |
| field | query | string[] | no | at most 50 items |
| domain | query | string[] | no | at most 50 items |
| limit | query | integer | no | 1 to 500 |
| mode | query | strict · standard · broad | no |
Response
200 · ChangesResponse. The events after the cursor that the caller may see.
| Field | Type | Holds |
|---|---|---|
| response_id | ResponseID | A response's ID. It replays and compares that exact response. |
| status | answered · partial · abstained | Whether there is an answer. |
| as_of | AsOf | When the answer applies (valid_at), and what the record held then (known_at). |
| mode | strict · standard · broad | Which items could be served. Each mode returns everything the one before it does. |
| preset | string · nullable | The key's preset, if any. |
| items | Item[] | The cited facts. |
| abstentions | Abstention[] | Why part of the question has no answer. |
| negative_results | NegativeResult[] | What was searched, and found nothing. |
| withheld | Withheld[] | Items left out, by reason and count. |
| attributions | Attribution[] | Text to repeat where you show the data. |
| meta | Meta | The policy version, the index versions, and the milliseconds the server took. |
| events | Event[] | |
| next_cursor | string |
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.
| HTTP | Code | When |
|---|---|---|
| 400 | INVALID_REQUEST | Malformed JSON, unknown fields, bad filter, limit exceeded |
| 401 | UNAUTHENTICATED | Missing, malformed, or revoked key |
| 403 | FORBIDDEN_SCOPE | The key lacks the required scope |
| 429 | RATE_LIMITED | Rate limit or per-tenant model cap |
| 500 | INTERNAL, POLICY_ASSERT_FAILED, RESPONSE_UNREPLAYABLE | Server fault. The last two also alert |
| 503 | STORE_UNAVAILABLE, LLM_UNAVAILABLE, LOG_UNAVAILABLE | A dependency is down or a budget tripped |
| 504 | TIMEOUT | A deadline was exceeded |
Sample
Request
GET /v1/changes?limit=3Sample 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": []
}