Skip to main content

Overview

List endpoints in the Arcus API use cursor-based pagination: you ask for a page with limit, and you ask for the next page by passing the ID of the last record you received as starting_after. Unlike offset pagination (?page=3), cursor pagination is stable: inserting or deleting records between pages does not cause items to be skipped or duplicated. The examples below use GET /v1/orders. By default that endpoint lists only quotes, sales orders, and invoices; pass document_type to page through returns, purchase orders, or late-fee invoices instead.

List response envelope

A list endpoint returns this envelope:
Stop paging when has_more is false. Do not rely on a total count to decide when you are done.

Parameters

Paginating forward

Paginating backward

On list endpoints that accept ending_before, pass it instead of starting_after to get the records before a known ID. Check the endpoint’s reference page; where it is not listed, page forward only.

SDK usage: auto-pagination

All SDKs support automatic page iteration:

Filtering and sorting

Most list endpoints support additional query parameters for filtering:
GET /v1/orders returns the newest orders first and filters by document_type, account_id, order_status, payment_status, created_after, and created_before. Filter parameters vary by resource. See each endpoint’s reference page for the full list.

Notes on performance

  • Use the largest limit the endpoint allows when bulk-fetching to minimize round trips
  • Cursors are stable: you can safely resume a paginated scan after an interruption by restarting from the last ID you successfully processed