Update A Price Or Stock Level
Change part of one listing without resending it. The everyday integration is a nightly price and stock sync, and doing that through the batch upsert means resending the target id, the URL and the currency to change one number, which is how a script that meant to reprice a row silently rewrites its link. Every field is optional and absent means unchanged. stock_qty is the private count: 0 is out of stock, a positive number is in stock, and null is "not tracked". in_stock is the flag for a shop that does not count units; send one or the other, never both, since a row that carries a quantity derives the flag from it. Editing a row is also a statement that its price still stands, so it resets the staleness clock.
- stringheaderrequired
Your API key.
Authorization: Bearer <key>is accepted in its place.
- stringrequired
Your own SKU for the offer
- Example
- string
Which of your shops to act for. Required only when one key is named by more than one shop;
GET /v1/vendor/shopslists them- Max length
- 64
- Example
- integer
New price in integer minor units of
currency. A float is refused. - string
ISO 4217 code the price is in, e.g.
AUD. Prices are integer minor units; format withIntl.NumberFormatat render rather than dividing first. - string
Product page on your shop. Must be a full https:// address; any other scheme is refused.
- integer
Units you hold: 0 is out of stock, null is not tracked. Send this or
in_stock, never both: a row carrying a quantity derives its flag from it. - boolean
Stock flag, for a shop that does not count units. Send this or
stock_qty, never both. - string | null
ISO 3166-1 alpha-2 code you ship to. Null states no restriction.
- string
Set
publishedto show the listing on public pages, ordraftto take it off them while keeping it.
- object
The response payload.
- string
The shop's own catalogue key for the listing. A seller's identifier, not ours: it is what
PATCH /v1/vendor/offers/{sku}addresses.
- 400
VALIDATION_ERROR - 401
UNAUTHORIZED - 403
FORBIDDEN - 404
NOT_FOUND - 413
PAYLOAD_TOO_LARGE - 429
RATE_LIMITED - 500
INTERNAL_ERROR
Send stock_qty (the private count) or in_stock (the flag), never both.
stock_qty: 0 is out of stock; null is "not tracked" and is not the same thing as zero.
A successful patch resets the staleness clock, because editing a row is also a statement that its price still stands.
- Minimum tier
- Enterprise
- Monthly quota
- 1,000,000/mo
- Rate limit
- 300/min
- Daily cap
- 50,000
Figures shown are for this endpoint's minimum tier. Higher tiers raise every limit.