Skip to content
Linra Omni Developer Docs

Get order

Get an order.

Scent Orders

GET/api/v1/scent/orders/{orderId}

Retrieves the full order for orderId — the Scent order’s own GUID, the SAME value the create response’s id and every list row’s id carry. Unlike the list, a by-id read is ALWAYS full (lines and fulfilment groups included — no ?include= needed). A cross-tenant or unknown order reports 404 (no existence leak, SCOPE-04).

Path parameters

orderIdstring (uuid)Required

The order’s own id (the Scent order’s own GUID).

Response

idstring (uuid)

The order’s own id. Null ONLY for a spine row whose downstream order was never created (e.g. a pre-create rejection) — such a row still appears on the list but has no id you could address it by.

externalReferencestring
customerRefstring
statusstring (enum)

The one status vocabulary every product’s order maps into — see the Order states & errors guide for what each value means for a Scent order specifically, and for the create-time reject codes (CONFLICT_ORDER_DUPLICATE_REFERENCE, CONFLICT_PRICE_LOCK_ALREADY_USED, VALIDATION_PRICE_LOCK_EXPIRED/_INVALID) that stop an order from ever reaching a live status at all. failureReason on the order response is populated only when status is Failed, and is additive alongside it — status is never replaced by it.

createdAtstring (date-time)
completedAtstring (date-time)
failureReasonstring

A sanitized, partner-safe failure reason — see the Order states & errors guide. Present ONLY when status is Failed; omitted entirely (not merely null) otherwise. Additive alongside status, never a replacement for it.

pricing.currencystring
pricing.subtotalnumber (decimal)

Net goods amount, ex-VAT.

pricing.vatnumber (decimal)

Output VAT on the goods leg.

pricing.shippingFeeobject

The order-level shipping fee, shown as its own line. Zero for a free-shipping order.

pricing.discountobject

The discount code applied at checkout, if any. Display/reporting only — it never affects any other figure in pricing.

pricing.totalnumber (decimal)

The single VAT-inclusive gross amount actually charged to your wallet.

pricing.commissionobject

The partner commission on the order. Both the net and gross (VAT-inclusive) figures are carried explicitly.

linesarray of object

Always populated on the by-id read; on the list, only when ?include=lines is passed. The key is OMITTED from the wire entirely when not requested — never present as “lines”: null.

fulfillmentGroupsarray of object

Same inclusion rule as lines.

deliveryRollup.totalGroupsinteger
deliveryRollup.deliveredGroupsinteger
taxPointstring (date-time)
platformTaxRegistrationNumberstring
partnerTaxRegistrationNumberstring
partnerIsVatRegisteredboolean
displayCurrencystring

Set only when your preferred display currency differs from SAR.

ratenumber
totalAmountDisplaynumber

Other responses

401No bearer token (UNAUTHORIZED_MISSING_TOKEN), an invalid token (UNAUTHORIZED_INVALID_TOKEN) or an expired one (UNAUTHORIZED_TOKEN_EXPIRED — mint a new token). UPSTREAM_AUTH_FAILED is different: a dependent service refused the Gateway itself. That is a server-side fault — retry later and do NOT re-mint your token. See the Errors guide.
403The route is not available to your credential (FORBIDDEN).
404Unknown order, or one belonging to another partner (no existence leak — always 404, never 403).
429Too many requests — see the Rate limits guide. Retry after the Retry-After header (seconds).
502A dependent service returned an invalid response (BAD_GATEWAY). Retry with backoff.
503The service is temporarily unavailable (SERVICE_UNAVAILABLE). Retry with backoff.
504A dependent service did not respond in time (GATEWAY_TIMEOUT). Retry with backoff.
curl --request GET \
--url https://api-omni.linra.net/api/v1/scent/orders/5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b \
--header 'Authorization: Bearer $TOKEN'

Response

{
"state": "SUCCESS",
"payload": {
"id": "5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b",
"externalReference": "string",
"customerRef": "string",
"status": "Processing",
"createdAt": "2026-08-22T09:14:03Z",
"completedAt": "2026-08-22T09:14:03Z",
"failureReason": "string",
"pricing": {
"currency": "SAR",
"subtotal": 0,
"vat": 0,
"shippingFee": {
"amount": 0,
"vatAmount": 0,
"amountWithVat": 0
},
"discount": {
"code": "string",
"amount": 0
},
"total": 0,
"commission": {
"amount": 0,
"vatAmount": 0,
"amountWithVat": 0,
"netAfterCommission": 0
}
},
"lines": [
{
"id": "5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b",
"variantId": "5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b",
"sku": "string",
"brandName": "string",
"scentName": "string",
"sizeMl": 0,
"quantity": 0,
"returnedQuantity": 0,
"unitAmount": 0,
"lineTotal": 0,
"partnerCommission": 0,
"pricingMode": "Retail",
"taxClassification": "string",
"vatRateApplied": 0,
"lineGoodsVatAmount": 0,
"lineCommissionVatAmount": 0,
"unitAmountDisplay": 0,
"lineTotalDisplay": 0,
"partnerCommissionDisplay": 0
}
],
"fulfillmentGroups": [
{
"id": "5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b",
"status": "Pending",
"trackingRef": "string",
"packedAt": "2026-08-22T09:14:03Z",
"shippedAt": "2026-08-22T09:14:03Z",
"deliveredAt": "2026-08-22T09:14:03Z"
}
],
"deliveryRollup": {
"totalGroups": 0,
"deliveredGroups": 0
},
"taxPoint": "2026-08-22T09:14:03Z",
"platformTaxRegistrationNumber": "string",
"partnerTaxRegistrationNumber": "string",
"partnerIsVatRegistered": true,
"displayCurrency": "string",
"rate": 0,
"totalAmountDisplay": 0
},
"details": null
}