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

curl "https://api.callaro.ai/api/v1/bulk_call_campaigns?page=1&per_page=25" \
  -H "X-Api-Key: $CALLARO_API_KEY"

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.