Skip to main content
The delivery list and the PULL feed use opaque, forward-only cursors.
1

Request the first page

Call the endpoint with no after. Optionally set limit and any filters.
2

Read data.nextCursor

A non-null value means there are more results.
3

Request the next page

Call again with after=<nextCursor> and the same filters. Stop when nextCursor is null.
limit defaults to 25 and caps at 100 — a larger value is silently capped, while a value below 1 is a 400.
A short page is not the end. Filters are applied after the query, so a page can return fewer than limit items — even zero — while nextCursor is still non-null. Keep following the cursor until it is null.

Cursor scope

Cursors are bound both to you and to a single feed, either DELIVERIES or EVENTS. Tampering with one, forging one, or reusing another partner’s returns 400 INVALID_CURSOR.
The feeds are ordered in opposite directions on purpose. The delivery log answers “what just broke?”, so it leads with the newest. The event feed is a replayable stream you checkpoint through in order, so it leads with the oldest.