Request parameters
Response shape
data— the page of items, ordered most-recent-first.has_more—trueif more pages exist after this one.next_cursor— pass this asstarting_afteron the next request.nullwhen there is no next page.
Walking the full list
has_more is false.
Why cursors, not offsets?
Cursors don’t drift when rows are inserted or deleted between requests. Offset pagination (page=2) can miss items or return duplicates if data changes mid-walk; cursors stay anchored to a specific row.
Stable ordering
Rows are ordered by(created_at desc, id desc) for most resources, and (visit_date desc, id desc) for site visits. The compound order makes cursoring deterministic even when many items share the same timestamp.