When
has_more is false, next_cursor is null: you have read everything.
Read every page
Call again withcursor set to the last next_cursor, with the same filters and the same sort, until has_more is false.
cursor to {{ $response.body.page.next_cursor }}, and stop when {{ $response.body.page.has_more }} is false.
What the cursor guarantees
- Nothing is missed or repeated while you read, even while TIKT writes new leads. Pages are cut by the sort order and the item’s identifier, never by position: a lead written while you read never shifts the others.
- A lead written while you read may not appear in this pass if it sorts before your current page — for example a new lead when you read newest first. You will get it at your next sync: see Syncing changes.
- The cursor is opaque: don’t build or change it. A cursor that can’t be read, or that comes from another
sort, is refused with400and the codecurseur_invalide. Start again withoutcursor. - A cursor doesn’t expire, but it only makes sense with the filters it was made with.
Lists that are not paginated
A few lists are always short and come whole, withdata only: your lists (GET /v1/lists), your tracked profiles, your blocklist, your workflows, your destinations, the event types, a lead’s scores.