Skip to main content

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

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_at windows where supported.
Cursor and page semantics are not interchangeable. If a route is cursor-based, page counters may be ignored or produce unstable traversal.