Skip to content
Linra Omni Developer Docs

Get unfulfillable line notice by ID

Get an unfulfillable-line notice.

Unfulfillable Notices

GET/api/v1/scent/unfulfillable-notices/{id}

Reads one of your own unfulfillable-line notices by its own GUID (from the order.line-unfulfillable webhook’s data.noticeId, or from the list above). A cross-tenant or unknown id returns 404 — no existence leak. The response carries the affected line’s context and, while still awaiting a response, the projected money impact of each choice; impact is null once the notice is resolved or expired.

Path parameters

idstring (uuid)Required

The notice’s own GUID.

Response

idstring (uuid)
scentOrderIdstring (uuid)

The order this notice belongs to — the same Scent order GUID you already hold from order creation/tracking and the webhook’s own data.orderId.

reasonstring (enum)

OutOfStock: a receiving-time shortage/damage discrepancy. Lost: the shipment carrying this line was declared lost — always resolves as a full cancel.

statusstring (enum)

AwaitingPartnerResponse: the 72-hour clock is running, waiting on you. Resolved: you responded within the window (see responseChoice). ExpiredCancelledWhole/ExpiredShipAvailable: you did not respond in time, and the system applied its own default (nothing shipped vs. the shipment had already departed).

responseChoicestring (enum)

The choice you made, when you responded within the window. Null if the notice expired instead (the effective outcome is then read off status) or is still open.

notifiedAtstring (date-time)
responseDeadlineAtstring (date-time)

The 72-hour deadline — respond before this instant or the system’s own default applies.

hasShipmentDepartedboolean

Whether the shipment carrying this line had already departed toward you at the moment the notice was raised — informs which default applies on expiry.

respondedAtstring (date-time)
line.scentOrderLineIdstring (uuid)
line.variantIdstring (uuid)
line.skustring
line.orderedQuantityinteger

The originally ordered quantity for this line.

line.availableQuantityinteger

Units still shippable (outstanding minus shortfall) — what ShipAvailable would keep.

line.shortfallQuantityinteger

Units that cannot be fulfilled — what both choices cancel + refund.

impact.cancelWholeobject

Mirrors the order’s pricing{} so a refund reconciles field-for-field against the charge. Populated ONLY once the refund has genuinely landed.

impact.shipAvailableobject

Mirrors the order’s pricing{} so a refund reconciles field-for-field against the charge. Populated ONLY once the refund has genuinely landed.

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 notice, or a cross-tenant id (no existence leak).
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/unfulfillable-notices/5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b \
--header 'Authorization: Bearer $TOKEN'

Response

{
"state": "SUCCESS",
"payload": {
"id": "5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b",
"scentOrderId": "5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b",
"reason": "OutOfStock",
"status": "AwaitingPartnerResponse",
"responseChoice": "CancelWhole",
"notifiedAt": "2026-08-22T09:14:03Z",
"responseDeadlineAt": "2026-08-22T09:14:03Z",
"hasShipmentDeparted": true,
"respondedAt": "2026-08-22T09:14:03Z",
"line": {
"scentOrderLineId": "5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b",
"variantId": "5b1e3a1c-9d2e-4f3a-8b1c-9f0a2e3d4c5b",
"sku": "string",
"orderedQuantity": 0,
"availableQuantity": 0,
"shortfallQuantity": 0
},
"impact": {
"cancelWhole": {
"currency": "SAR",
"goods": {
"net": 0,
"vat": 0,
"total": 0
},
"commissionClawback": 0,
"shippingFeeRefund": 0,
"total": 0
},
"shipAvailable": {
"currency": "SAR",
"goods": {
"net": 0,
"vat": 0,
"total": 0
},
"commissionClawback": 0,
"shippingFeeRefund": 0,
"total": 0
}
}
},
"details": null
}