Skip to main content
Every list endpoint returns results newest first, in pages. You move through pages with a cursor: the id of the last object you received.

Parameters

Response

Lists use a cursor and not a page number. New rows can arrive while you are paging, and a page number would repeat or skip one. A cursor can’t.

Get every page

Take the id of the last object in data, pass it as starting_after, and stop when has_more is false.

Filters

Filters combine with paging. An invalid value answers 422 and names the parameter.
Plans and charges return active and draft items unless you set status. That is what can be sold. Ask for legacy or inactive explicitly to see the rest.
GET /v1/customers lists customers only. A Xero contact that hasn’t been imported as a customer in Saasybill doesn’t appear.