Push declared stock for one of the calling vendor's offers
const url = 'https://api-omni.linra.net/api/v1/vendor/stock/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"declaredStockQuantity":1,"declaredInStock":true}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request PATCH \ --url https://api-omni.linra.net/api/v1/vendor/stock/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0 \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "declaredStockQuantity": 1, "declaredInStock": true }'Applies availability/quantity INSTANTLY (no review gate) — on an Approved offer this
propagates immediately to the linked supply option’s stock snapshot. Reachable for ANY of
the vendor’s own offers regardless of submission source — stock is a real-world fact about
the vendor’s own SKU, independent of which door the offer’s identity/cost entered through.
A declared “in stock: false” with a stale positive quantity is still treated as
unavailable. Idempotent: re-pushing the identical declared state is a pure no-op. Requires
the Stock capability — grantable independently of Offers/Cost.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”object
Examplegenerated
{ "declaredStockQuantity": 1, "declaredInStock": true}Responses
Section titled “Responses”The offer with its declared stock updated.
object
object
object
Always the NET (ex-VAT) figure.
A cost change awaiting reviewer approval, if one is in flight. Null otherwise.
Always false. Pair Cost with this value (false) on a write to safely resubmit it unchanged — this is the one entry mode that can never re-interpret an already-net figure as a fresh gross one. See costEnteredVatInclusive for how you actually entered it.
Display-only — the vendor’s actual original entry-mode preference (how Cost was declared: exclusive/net or inclusive/gross). NEVER accepted on a write; use costIsVatInclusive (always false) for that.
Your own input VAT on the current cost, back-derived when costEnteredVatInclusive is true.
Optimistic-concurrency token (informational on this API — no vendor endpoint requires you to send it back).
Example
{ "state": "SUCCESS", "payload": { "status": "Draft", "source": "Manual" }}Request validation failed.
object
object
Example
{ "state": "NOT_FOUND_VENDOR_OFFER"}Your token doesn’t carry the capability this endpoint requires.
object
object
Examples
{ "state": "FORBIDDEN_CAPABILITY_NOT_GRANTED", "payload": null, "details": { "requiredCapability": "Orders" }}Unknown offer id, or one belonging to another vendor.
object
object
Examples
{ "state": "NOT_FOUND_VENDOR_OFFER", "payload": null, "details": {}}Too many requests. Retry after the Retry-After header (seconds).
object
object
Example
{ "state": "NOT_FOUND_VENDOR_OFFER"}Headers
Section titled “Headers”Seconds to wait before retrying.