Fields
Needs write access. The body is {"items": [...]} with 1 to 1,000 items. Each item is written exactly as PUT would.
| Field | Type | Rule |
|---|---|---|
| itemsrequired | array | 1 to 1,000 rows. |
| items[].upcrequired | string | 1 to 32 letters, digits or hyphens. |
| items[].… | as PUT | stock and price required; cost_price, sku, notes optional, with the PUT rules. |
- It counts as one request against the rate limit and refreshes your store's prices once for the whole batch, so it is the right call for a full re-count or a scheduled sync.
- Each item is checked on its own: valid items are written and invalid ones are reported, with the same error shape a single PUT would give.
- The same UPC twice in one request refuses the whole request with
422 validation_failed, and nothing is written. - Results come back in the order you sent the items.
Returns
- 200Per-item results:
created,updated,failedcounts andresultsin request order. - 422The whole request was refused: no items, more than 1,000, or the same UPC twice.
- 413payload_too_large: send fewer items per batch.
This endpoint can also answer 401 invalid_api_key, 403 license_not_active, 403 product_not_included and 429 rate_limited.