Subsystem

HTTP API: changes

The 1 operation tagged changes, each with its parameters, its body and what it answers.

What changed since you last looked

GET /v1/changes

Return what has happened, oldest first, that this caller is entitled to know about.

A period is ?created_at.gte=, and it is a different question from ?since=. A cursor resumes where you left off and is inclusive-with-dedupe, so it is what a client that polls should send; a period is a statement about a stretch of time and is not resumable. Somebody asking what happened on a particular day has no cursor to offer, and a client polling has no date in mind. Both are accepted and they compose.

Resuming is ?since=, not a cursor. Take the seq of the last event you dealt with and send it back; you will receive it again and everything after it. has_more says whether another page is waiting immediately — when it is false you are caught up, and polling again will return only what happens next.

Going the other way is ?before=. With newest set, has_more means there are earlier events, and since is a floor — so walking back through a long history is ?before=<the earliest seq you hold>, exclusive. Every answer still reads oldest first.

Ordered oldest first, because a feed is read forwards. The per-item histories run the other way, because "what happened to this" is a question about the recent past.

Parameters

Responses