Skip to main content
List endpoints use one of three styles. Each endpoint’s reference page lists its query parameters.

Cursor pagination

Used by GET /v1/results, GET /result-webhooks/deliveries, GET /campaigns/{id}/api-logs and GET /credits/ledger. The response contains items and nextCursor. When nextCursor is null there are no more pages.
Treat cursors as opaque strings and don’t build them yourself.

Offset pagination

Used by most other paginated lists, for example GET /calls, GET /campaigns/{id}/leads and GET /speech/calls. Increase offset by limit until a page comes back with fewer than limit items. Where the endpoint returns a total, you can also stop once offset + limit >= total.
Response shapes differ between endpoints. Some return a bare array, some wrap results with a total (for example { "items": [...], "total": 120 }), and GET /workflows/{id}/runs returns the total in the X-Total-Count header. Check the endpoint’s reference page.
GET /commerce/orders uses page (1-based) and limit instead of offset.

Unpaginated lists

Lists of configuration objects (agents, campaigns, phone numbers, voices, documents, dictionaries, templates, senders, workflows and similar) return every item in one response. A few endpoints return a fixed number of the most recent items and cannot be paged: for example GET /whatsapp/messages (up to 200) and GET /campaigns/{id}/activity (the latest 50 calls).