Skip to content

Get one order by its global ID (any product type)

GET
/api/v1/orders/{orderGlobalId}
curl --request GET \
--url https://api-omni.linra.net/api/v1/orders/example \
--header 'Authorization: Bearer <token>'
orderGlobalId
required
string

The unified order header plus exactly one populated product-detail field.

Media typeapplication/json
object
state
required
string
payload
required
details
object
payload
required

scentDetail is populated for every order type this site documents. This response shape is shared with the underlying spine’s other product lines (see the Changelog) — a detailUnavailableReason value you don’t recognize means an order type outside this site’s scope; treat it as opaque.

object
header
object
orderGlobalId
string
partnerId
string format: uuid
productType

Scent is the only product line documented on this site — see the Changelog for why Topup/eSIM were removed. The underlying spine’s status vocabulary is shared across every product it has ever supported; this document scopes strictly to what a partner can actually reach today.

string
Allowed values: Scent
productOrderId
string format: uuid
nullable
externalReference
string
amount
number format: decimal
currency
string
status

The one status vocabulary every product’s order maps into. Today only Processing, Failed, and PartiallyReturned are actually written — fulfillment-status sync into Completed/Cancelled/Returned is a tracked future improvement, not yet live.

string
Allowed values: Processing Completed Failed Cancelled PartiallyReturned Returned
failureCode
string
nullable
createdAt
string format: date-time
completedAt
string format: date-time
nullable
displayCurrency

Set only when the partner’s preferred display currency differs from SAR.

string
nullable
rate
number
nullable
amountDisplay
number
nullable
scentDetail
object
id
string format: uuid
orderGlobalId
string
sagaId
string
partnerId
string format: uuid
externalReference
string
customerRef
string
nullable
totalAmount
number format: decimal
totalCommission
number format: decimal
currency
string
status
string
lines
Array<object>

Deliberately omits internal cost/wholesale fields.

object
id
string format: uuid
variantId
string format: uuid
quantity
integer
returnedQuantity
integer
unitAmount
number format: decimal
lineTotal
number format: decimal
partnerCommission
number format: decimal
nullable
pricingMode
string
source
string
nullable
taxClassification
string
vatRateApplied
number format: decimal
lineGoodsVatAmount
number format: decimal
lineCommissionVatAmount
number format: decimal
nullable
unitAmountDisplay
number
nullable
lineTotalDisplay
number
nullable
partnerCommissionDisplay
number
nullable
fulfillmentGroups
Array<object>
object
id
string format: uuid
status
string
deliveredAt
string format: date-time
nullable
deliveryRollup
object
totalGroups
integer
deliveredGroups
integer
totalGoodsVatAmount
number format: decimal
totalCommissionVatAmount
number format: decimal
totalAmountWithVat
number
nullable
totalCommissionWithVat
number
nullable
taxPoint
string format: date-time
nullable
platformTaxRegistrationNumber
string
nullable
partnerTaxRegistrationNumber
string
nullable
partnerIsVatRegistered
boolean
displayCurrency
string
nullable
rate
number
nullable
totalAmountDisplay
number
nullable
detailUnavailableReason
string
nullable
Example
{
"state": "SUCCESS",
"payload": {
"header": {
"productType": "Scent",
"currency": "SAR",
"status": "Processing"
},
"scentDetail": {
"currency": "SAR"
}
}
}

Unknown order, or an order belonging to another partner (no existence leak — always 404, never 403).

Media typeapplication/json

The envelope every /api/v1 ERROR response uses. state carries the machine-readable error code (see the Errors guide).

object
state
required
string
payload
required

Always null on an error response.

object
details
object
Examples
ExamplenotFound
{
"state": "NOT_FOUND_ORDER",
"payload": null,
"details": {
"orderGlobalId": "ORD-EXAMPLE-0001"
}
}

Too many requests — see the Rate limits guide. Retry after the Retry-After header (seconds).

Media typeapplication/json

The envelope every /api/v1 ERROR response uses. state carries the machine-readable error code (see the Errors guide).

object
state
required
string
payload
required

Always null on an error response.

object
details
object
Example
{
"state": "NOT_FOUND_ORDER",
"payload": null
}
Retry-After
integer

Seconds to wait before retrying.