Saltar al contenido principal
List endpoints return one page of results at a time, ordered most recent first. Paging uses an opaque cursor rather than numeric page offsets, so results stay stable even as new records are created while you page.

Request parameters

  • limit: how many records to return in one page. Between 1 and 100, defaulting to 25.
  • starting_after: a cursor. Pass the id of the last record you have seen to get the records after it. Omit it on the first request.

Response fields

Every list response wraps its records in the same envelope:
{
  "data": [ ... ],
  "has_more": true,
  "next_cursor": "inv_clx123abc456",
  "next_url": "/v1/invoices?limit=25&starting_after=inv_clx123abc456"
}
  • data: the records in this page.
  • has_more: whether more records exist beyond this page.
  • next_cursor: the cursor to pass as starting_after for the next page, or null on the last page.
  • next_url: a ready-to-use relative path for the next page that already carries your current filters and limit, or null on the last page.

Paging through every result

The simplest loop is to follow next_url. Request it as-is, and stop when it comes back null:
  1. Make your first request with any filters you need.
  2. If next_url is not null, request it to get the next page.
  3. Repeat until next_url is null.
Following next_url keeps your filters and limit consistent across pages, so you never have to rebuild the query yourself.