Pagination is endpoint-specific. Do not assume one global pattern.
Callaro list endpoints are mixed: many operational resources are page-based, while selected high-volume surfaces can be cursor-based depending on the route.Common patterns
- Page-based list
- Cursor-based list
Safe sync rules
1
Read endpoint docs before coding
Confirm whether the endpoint expects
page/per_page or cursor/page_size.2
Persist traversal state
Store
page or next_cursor after each successful page so jobs can resume safely.3
Use stable filters
Keep filter and sort parameters identical during one traversal window.
4
Dedupe by primary ID in sink
At-least-once sync runners should upsert by record ID to tolerate retries.
Sorting and filters
- Prefer server-supported sort fields only.
- Avoid offset-like assumptions when using cursors.
- Narrow large scans with
updated_atwindows where supported.
Cursor and page semantics are not interchangeable. If a route is cursor-based, page counters may be ignored or produce unstable traversal.

