What changed about the events in an area

3 tokens minimum per request; above 30 rows, 1 token per 10 rows returned (rounded up) — the same rule as a page of signals, counted on the developments returned. Returns CHANGES rather than rows: polling /signals and diffing the ids finds new REPORTING, which is a different thing — a 2025 attack re-reported in 2026 with a fresh attribution is indistinguishable from a fresh attack. Each development says which axis moved, what the value was and what it became, what the change rests on (basis), and is labelled world (the event’s own state moved: a death toll revised, a perpetrator named) or measurement (what we can now see moved: a location resolved, the evidence stage advanced). The window filters on WHEN THE CHANGE WAS OBSERVED, so a change to an older event is returned. Default returns only changes worth a person’s attention; notable_only=false returns the full ledger. Plan-dependent: on a plan without the full event detail (Free), every change keeps its time and axis, but only each event’s latest change keeps its value (never for the reported facts — attribution, means, targets, target status); with the full detail, every change keeps its value. Changes to post-event imagery are not returned here: imagery is checked only for events on the Watchlist, and a watch carries its own imagery state. Only a plan that includes the sources keeps the sources behind each change. locked_by says when a value was withheld, and sources_locked says when only the sources were.

get/api/v1/developments

Request

  • Base URL: https://offnadir-delta.com
  • URL: https://offnadir-delta.com/api/v1/developments
  • Auth: one of:
    • HTTP bearer
    • API key in header X-API-Key

Query parameters

bboxstring

minLon,minLat,maxLon,maxLat. Omit for worldwide.

start_datestring date

Date range start (YYYY-MM-DD) — the app's date range. Give with end_date, or neither for today. Changes are recorded from 2026-09-23, when the event record starts. The plan's history window bounds it.

end_datestring date

Date range end (YYYY-MM-DD), inclusive.

categoriesstring

Comma-separated signal categories.

axesstring

Comma-separated change axes (casualties_killed, attributed_actor, stage, location_level, ...). An unknown value is a 400, never an empty result — a silent zero reads as "nothing happened".

notable_onlyboolean

Default true. False returns every recorded change, including minor ones.

include_member_countboolean

Default false. The member_count axis means "one more report arrived", which says nothing new about the event — including it puts every followed-up story in today’s changes.

limitinteger

How many developments to return (1..200, default 50).

offsetinteger

Skip this many developments (meta.total_count is the whole window).

Response

Developments, newest first, with the canonical event each belongs to.

developmentsobject[]
metaobject

Changes

No recorded changes to this operation across all 1 revision of this API.