What DFX has learned since your last call
changes_sinceA feed of what is NEW since a cursor, ordered by when DFX learned it rather than by when it happened. The first call, made without a cursor, returns ZERO events and a starting position by design; a later call with that cursor returns what DFX learned in between. It answers what is new, not what exists. Filter by event type, state, or a specific property or parcel id. Deterministic and indexed, so frequent polling is cheap. Free. HISTORICAL FAMILIES DO FLOW THROUGH HERE. This feed is ordered by when DFX LEARNED a fact, not when the fact happened, so a foreclosure that occurred months ago and was ingested today arrives in today's delta. A distress or sales feed built on this works.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Max 50. A full page sets `complete: false` in the envelope, which means the backlog was longer than one page and more rows are available immediately with the returned cursor. The cursor is the last row on the page, never the present moment, so nothing is skipped. | |
| since | No | Opaque cursor from a previous call. Unset on the first call, which establishes a position and returns no events by design. | |
| state | No | Two letter state code | |
| dfx_id | No | With `domain`: watch one entity (a dfx id on that domain's graph). | |
| domain | No | An intelligence domain instead of real estate; with it, `since` is an ISO timestamp. | |
| event_type | No | One served event family. | |
| place_dfx_id | No | Watch one property or parcel | |
| include_scheduled | No | With `domain`: also return rows whose occurrence date is after today (novelty SCHEDULED_FUTURE), such as an announced closing date. Default false. | |
| include_historical | No | With `domain`: also return rows DFX first saw in the window that occurred before it (novelty NEWLY_OBSERVED_HISTORICAL) and rows seeded when the domain's tape was created. Default false. Real estate rows are labelled with novelty but not filtered. |