Skip to main content
POST
What changed since a cursor — the polling primitive

Authorizations

Authorization
string
header
required

Clerk OAuth 2.0 Authorization Code flow with PKCE. Request the minimum scope required by the operation.

Body

application/json
cursor
string

Caller-managed progress: "latest" to start, then the next_cursor you stored.

Required string length: 1 - 500
consumer_id
integer

smry-managed progress: poll this consumer's saved predicate. Omit cursor and where.

Required range: x >= 1
limit
integer
Required range: 1 <= x <= 500
where
object

Entry selection predicate: fields AND together; omit a field to not filter on it. Source queries/mutations accept only collection and source; use query having for source-health filters.

fields
string[]

Project event entries to these fields; ["id"] is the cheapest diff. id is always included.

Allowed value: "id"
attention_limit
integer

Sources listed per attention bucket (default 5; the *_count fields always carry the full tally). Pass up to 500 for the exhaustive roster, 0 for counts only.

Required range: 0 <= x <= 500

Response

What changed since a cursor — the polling primitive. The operation succeeded.

What changed since a cursor — the polling primitive. The operation succeeded.

object
string
required
Allowed value: "feed_changes"
events
object[]
required
has_more
boolean
required
next_cursor
string
required
checkpoint
object
required
attention
object
required

Source health, capped to five per bucket (stalled: longest silent first; erroring and never_produced: alphabetical); the *_count fields carry the full tally. Query select:"sources" with having for the complete list.

Last modified on September 13, 2026