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 clamped, while a value below 1 is 400 ERRWHK_1401. A malformed date is ERRWHK_1402; a startDate after endDate is ERRWHK_1403.
Date windows
Both feeds also acceptstartDate and endDate, each an ISO-8601 instant
(2026-05-21T10:00:00Z) or a bare date (2026-05-21). A bare startDate is read
as 00:00:00Z and a bare endDate as 23:59:59.999999Z, so
startDate=2026-05-21&endDate=2026-05-21 covers the whole of the 21st. Supplying
only one bound is fine — the other end stays open.
The dates say which rows are in scope and the cursor says where the last page
stopped, and the two are independent. To page through a fixed window, keep
startDate and endDate constant and advance only after.
The window is validated before the cursor is decoded and before the
PULL-subscription lookup, so a malformed date is always reported as a bad date —
never masked as an
ERRWHK_1400 or a 404. A startDate later than
endDate is a 400 rather than a silently empty result.Cursor scope
Cursors are bound both to you and to a single feed, eitherDELIVERIES or EVENTS. Tampering with one, forging one, or reusing another partner’s returns 400 ERRWHK_1400 — all causes answer alike, so a guessed cursor learns nothing. A limit below 1 is 400 ERRWHK_1401.