Query parameters
All optional. Needs Products and changes: Read. Send at most one of cursor, ids and upc.
| Parameter | Type | Meaning |
|---|---|---|
| cursor | integer | The meta.next_cursor of the page before. Leave it out for the first page. Not a changes cursor. |
| limit | integer | Products per page, 1 to 500. Default 100. |
| ids | string | Only these product ids, comma-separated, up to 100. |
| upc | string | Only these UPCs, comma-separated, up to 100. |
- Everything you sell, a page at a time. Without
idsorupcyou get what you sell now, ordered byproduct_id. Call again withcursorset tometa.next_cursoruntilmeta.has_moreisfalse. - Particular products. With
idsorupcyou get exactly those, including ones you no longer sell, withis_visiblefalse: that is how you learn to take one off sale. One the store has no price for is left out. - Two of
cursor,idsandupctogether are refused with422, and so is an id or a UPC that is not one.
What it answers
data is a list of products, each in the product shape, and meta says where the walk is:
| Field | Meaning |
|---|---|
| next_cursor | Send it as cursor for the next page. Null on the last page, and on a lookup by ids or upc. |
| has_more | true while there is another page. |
| total | How many products you sell. Approximate: the number can move during a long walk. |
| changes_cursor | Where to read GET /changes from after a walk. Keep the one from the walk's first page, so every change made during the walk is read again; applying one twice is harmless. |
Returns
- 200A page of products in
data, andmeta. - 409sync_paused: the store has switched catalog sync off. Not an empty catalog: keep what you have and retry later.
- 422
validation_failed: a query parameter broke a rule.
This endpoint can also answer 401 invalid_api_key, 403 license_not_active, 403 product_not_included, 403 insufficient_scope and 429 rate_limited.