Sync a copy of the directory
onchain_agent_get_changesUSE WHEN you keep a local copy of the directory and need only what moved since your last sync (machine-readable added / updated / removed), rather than re-fetching the whole catalog. NOT FOR a readable headline feed or one project's history (use onchain_agent_recent_changes instead), or the current state of one record (use onchain_agent_get_resource).
RETURNS (json): what changed since a given date: additions, per-resource change events, and retirements. { since, until, window_days, next_since, counts:{added,changed,removed}, added:[...], changed:[{slug,name,url,events:[...]}], removed:[...], coverage:{...}, full_export }.
CURSOR: next_since is the date to pass as since on your next call. It starts the next window at a snapshot taken before this read, so a change cannot fall between two calls; it overlaps by a couple of days, so dedupe by slug. To watch a fixed list of listings, call on a schedule with since = the last next_since and look for your slugs in each lane. A call with no argument returns a truncated sample: take the cursor from a call with since or detail "full", not from the sample.
COVERAGE (also stated in the response): added is exact. updated is a field-level diff of every catalog field between the snapshot on baseline_date and the live record — complete at daily resolution, so a quiet copy edit IS caught. changed is the richer event log (score moves, releases, verification) and explains WHY. removed is approximate. Mirror from added + updated + removed. Read-only.
WITH NO since (and no detail: "full") the answer is compact, labelled rule "defaulted": exact counts for the default 14-day window and the newest rows of each lane (summary: true, shown, omitted, order, example_calls). It is a sample, not a sync. Pass since (any date) or detail: "full" for every row; a later since is a shorter window and a smaller answer. All free.
Examples:
"what moved recently" -> {} (compact) · every row -> { detail: "full" }
"what's new this week" -> { since: "2026-08-23" }
"sync my copy" or "watch my list" -> { since: }
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| since | No | Return everything that changed since this ISO date. Defaults to 14 days ago. Clamped to the 90-day supported window. | |
| detail | No | 'full' returns the whole feed for the default 14-day window even with no `since`. Omitted with no `since`, the answer is compact: exact counts for the window plus the newest rows of each lane, and the exact calls for the rest. |