/change_eventAPI keyWhat changed, cited on both sides
since=N&known_as_of=T returns exactly the events with seq > N detected by T, in seq order, forever.
Operation ID list_change_event_change_event_get
Parameters
query
- sincerequiredinteger
- The
seqwatermark you hold. Required: the feed is a replay contract. - untilinteger | null
- No description.
- known_as_ofstring | null
- Knowledge time: the answer we would have given then. Default now. Same grammar as
as_of. - layer"authority" | "district" | "district_map" | "overlay"[]
- No description.
- kind"adoption" | "amendment" | "repeal" | "map_change"[]
backfillis a newly found old rule, not a new change.- cursorstring | null
- From a previous page's
page.next_cursor. - sizeinteger | null
- Default 25.
- regionstring | null
- A saved
rgn_region, or a statistical area such as a CBSA (sta_id). Membership resolves atas_of. - jurisdictionstring[]
- A
jur_id or fips_key. Repeatable. - statestring | null
- Two-letter postal code or two-digit FIPS.
- countystring | null
- County FIPS, 5 digits, or a county's
jur_id. - geometrystring | null
- WKT or GeoJSON. Jurisdictions that intersect it.
- buffernumber | null
- Feet around
geometry.
header
- Last-Event-IDstring | null
- No description.
Responses
- 200
- Collection_ChangeEvent_
- JSON by default. With
Accept: text/event-stream, a resumable stream:id:is theseq,event:is the layer, andLast-Event-IDresumes exclusively. - 401
- empty
- No usable credential.
- 402
- ErrorResponse
quota_exhausted: out of credit. Credit is prepaid and the balance cannot go below zero, so add credit rather than retrying.- 403
- ErrorResponse
entitlement_missing: the plan does not cover this operation.- 404
- ErrorResponse
- No such id. The only meaning of 404.
- 422
- ErrorResponse
- The request cannot be answered as asked. The code says why.
- 429
- ErrorResponse
rate_limited, withRetry-After.- 501
- ErrorResponse
not_available: this operation does not answer yet.
Example request
curl -X GET 'http://localhost:8000/change_event?since=value' \
-H 'X-API-Key: $PLACESTACK_API_KEY'Example response
{
"request": {
"path": "<Path>",
"param": {},
"dry_run": false
},
"meta": {
"contract_date": "2026-09-13",
"vocabulary_version": "<Vocabulary Version>",
"request_id": "req_01h455vb4pex5vsknk084sn02q",
"api_version": "v1",
"answer_id": "ans_01h455vb4pex5vsknk084sn02q",
"answer_through": 1,
"unit": {
"key": "string"
},
"cost": "<Cost>"
},
"item": [
{
"id": "chg_01h455vb4pex5vsknk084sn02q",
"seq": 1,
"kind": "adoption",
"layer": "authority",
"subject": "<ChangeSubject>",
"jurisdiction": "<JurisdictionRef>",
"effective_date": "2026-09-13",
"detected_at": "2026-09-13T12:00:00Z",
"field_path": "string",
"previous": "<ChangeSide>",
"current": "<ChangeSide>",
"adopted_on": "2026-09-13",
"ordinance": "ord_01h455vb4pex5vsknk084sn02q"
}
],
"page": {
"size": 1,
"next_cursor": "string",
"indeterminate": 0,
"total": "<envelope__Total>"
},
"as_of": {
"resolved": "<Interval>",
"timezone": "<Timezone>",
"basis": "requested",
"known_as_of": "2026-09-13T12:00:00Z",
"known_as_of_basis": "requested",
"requested": "string",
"earliest_retained": {
"key": "2026-09-13"
},
"constant": true,
"segment_count": 1
},
"notice": [
{
"code": "as_of_interval_spans_change",
"severity": "info",
"detail": "<Detail>",
"count": 1,
"subject": [
"string"
]
}
],
"coverage": {
"jurisdiction": "jur_01h455vb4pex5vsknk084sn02q",
"layer": {
"key": "<CoverageLayer>"
},
"href": "<Href>"
}
}