/v1 list returns the same envelope, whether it is paginated or not:
Which lists are paginated
Lists that are not paginated return every item in a single page with
"hasMore": false and ignore limit and cursor. Write the same loop for every list anyway: if one of them becomes paginated later, your code keeps working without changes.
Query parameters
integer
default:"50"
How many items to return, from 1 to 200. Only digits are accepted. A value of 0, a negative number, a decimal, text or a number above 200 is refused with
400 and the code common.invalid_request.string
The
nextCursor of the previous page, copied exactly. A cursor that cannot be read is refused with 400 and the code common.invalid_request; the server never silently restarts from the first page.string
On
GET /v1/orders and GET /v1/fulfillments only. It must be one of the status values listed for that operation in the Endpoints group (for example pending_approval for orders or dispatched for fulfillments). Any other value is refused with 400 and the code common.invalid_request.string
On
GET /v1/inventory/balances only: keep the boxes of one catalog item. An id that matches nothing returns an empty page.string
On
GET /v1/inventory/balances only: keep the boxes of one warehouse. An id that matches nothing returns an empty page.Walk every page
Last page
Cursor rules
- The cursor is opaque. Treat it as a token. Do not decode it, build it or change it; its format can change without notice.
- A cursor marks a position, not a page number. The next page starts right after the last item you received. Items created while you walk are neither skipped nor repeated: new orders and fulfillments appear at the end, because those lists run oldest first.
- Send the same filters on every page. The cursor stores only the position. If you change
status,catalogItemIdorwarehouseIdhalfway, the next page applies the new filters from that position. - Filters are applied on every request. If an order changes status while you walk
GET /v1/orders?status=approved, it can leave the filter before you reach it. - Use a cursor only with the operation that issued it. A cursor from one list is not valid on another.
- Use
limit=200for full scans. Fewer, larger pages use less of your rate limit.
Errors
Related pages
- API quickstart
- Webhooks: how to poll lists to stay up to date
- Errors