Conventions  /  Pagination

Pagination

Every list endpoint paginates the same way, with a forward cursor. There is no page-number pagination. To walk a full list, loop on next_cursor until has_more is false.

Query parameters

Parameters
limit
integer
How many items to return. Default 100, max 1000.
starting_after
string
A cursor. Returns items after this id (the usual forward direction).
ending_before
string
A cursor. Returns items before this id. You can’t pass both cursors on one call.

The list response

Every list returns the same envelope. next_cursor is the id to pass as starting_after for the next page, or null when there are no more.

200 OK
{
  "data": [ /* … */ ],
  "has_more": true,
  "next_cursor": "site_29Et…"
}

Fetching the next page

Terminal
curl "https://app.converly.io/api/v1/sites?starting_after=site_29Et…" \
  -H "Authorization: Bearer sk_live_…"

A cursor that doesn’t resolve returns 400 with invalid_cursor, and error.param points at the bad field. Nothing is dropped silently.

Events are the exception. /v1/events paginates on a timestamp cursor instead of an id, so its starting_after takes the ISO 8601 next_cursor it returns, ending_before is not supported, and the limit max is 100.