Push a fulfilment status update
const url = 'https://api-omni.linra.net/api/v1/vendor/orders/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/status';const options = { method: 'PATCH', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"status":"Pending","trackingRef":"example"}'};
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/orders/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/status \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "status": "Pending", "trackingRef": "example" }'Vendors may push ONLY Shipped, Delivered, or Cancelled (from Pending/Shipped) —
forward-only. Packed and any backward/stale/invalid target are rejected as a clean
no-op (HTTP 200, applied: false, the group’s UNCHANGED current state) — never an error,
so your automation can distinguish “my push landed” from “the group was already past that
point.” Re-pushing the identical, already-applied status is also a no-op. Requires the
Orders capability.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”Request Bodyrequired
Section titled “Request Bodyrequired”object
Only Shipped, Delivered, or Cancelled are ever accepted from a vendor — any other value (including Packed, operator-only) is a clean no-op, never an error.
Optional carrier tracking reference.
Responses
Section titled “Responses”Whether the push applied, plus the group’s current state either way.
object
object
object
False when the push was a no-op (stale/backward/duplicate/invalid target) — the group’s state is UNCHANGED by this call, never an error.
Deliberately EXCLUDES the reselling partner’s identity, any customer/external reference, and every money/tax field (order total, commission, VAT, currency, discounts, tax-registration numbers) and the internal saga correlation id — none of it is the vendor’s business. You are paid via your own commercial terms with Linra, tracked entirely on the offer/cost-push side, never derived from what a partner paid.
object
Linra’s own canonical order id — stable across both sides for support/correlation. Never the partner’s own external reference.
Your own order/reference id at your end, if previously pushed.
Trimmed to exactly what’s needed to pack the shipment. No money field of any kind is present.
object
The catalog SKU for this variant, resolved regardless of the variant’s current active state.
Example
{ "state": "SUCCESS", "payload": { "group": { "status": "Pending" } }}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 fulfilment group id, or one belonging to another vendor.
object
object
Examples
{ "state": "NOT_FOUND_FULFILLMENT_GROUP", "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.