Skip to main content
Every list method returns a PagePromise. Await it for one page; iterate it with for await for every item across all pages.
Nothing is sent until you await or iterate. The filters you pass are repeated on every page. To resume by hand, pass a page’s next_cursor as starting_after.

Sync only what changed

A sync job should record the time it starts, not the time it ends, and pass that as updated_since next run: records that change while you page can move ahead of your cursor.
How cursors, ordering and updated_since work in the API itself: Pagination and syncing.