Skip to content

Propose an inspection outcome (never authoritative)

PATCH
/api/v1/scent/returns/{id}/inspection/propose
curl --request PATCH \
--url https://api-omni-vendors.linra.net/api/v1/scent/returns/2489E9AD-2EE2-8E00-8EC9-32D5F69181C0/inspection/propose \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "outcome": "AcceptedDefect" }'

Records your own PROPOSED outcome — Linra’s assessment is always decisive; this never transitions the request’s status or triggers execution. A proposed Rejected flags the request for staff review. Rejected with BUSINESS_RETURN_INSPECTION_EVIDENCE_REQUIRED unless at least one photo has already been uploaded via addVendorReturnEvidence. Requires the request to currently be UnderInspection (BUSINESS_RETURN_REQUEST_INVALID_TRANSITION otherwise). Same ownership scope as markVendorReturnReceived. Requires the Orders capability.

id
required
string format: uuid

The return request id.

Media typeapplication/json

Your own PROPOSED outcome — never authoritative. Linra’s assessment is always decisive.

object
outcome
required

A genuine defect (AcceptedDefect), a sound/changed-mind item (AcceptedSound), or Linra rejects the return outright (Rejected, e.g. opened/used with no defect found).

string
Allowed values: AcceptedDefect AcceptedSound Rejected

The return request, vendor-safe, with your proposal recorded.

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

Deliberately EXCLUDES the reselling partner’s identity (PartnerId — Linra’s B2B2B relationship, not yours), every internal-staff identity, and every cost-attribution/custody/ carrier-claim fact — the same “does a vendor need this” test VendorFulfillmentGroupResponse applies.

object
id
string format: uuid
orderGlobalId

Linra’s own canonical order id — stable support-correlation reference.

string
returnRequestNumber
string
nullable
status
string
requestedAt
string format: date-time
receivedAt
string format: date-time
nullable
inspectionStartedAt
string format: date-time
nullable
inspectionDecidedAt
string format: date-time
nullable
inspection
object
receivedAt
string format: date-time
nullable
receivingParty

Always Supplier for a row reachable on this API at all.

string
Allowed values: Supplier
inspectionStartedAt
string format: date-time
nullable
inspectionWindowDeadline
string format: date-time
nullable
outcome

Linra’s DECISIVE outcome, once decided (null until staff — or the silence-timeout worker — decides). Never writable by you.

string
Allowed values: AcceptedDefect AcceptedSound Rejected
supplierProposedOutcome

Your own proposed outcome, echoed back.

string
Allowed values: AcceptedDefect AcceptedSound Rejected
requiresStaffReview
boolean
evidence
Array<object>
object
id
string format: uuid
url
string format: uri
kind
string
Allowed values: Photo Document
uploadedAt
string format: date-time
lines
Array<object>
object
scentOrderLineId
string format: uuid
quantity
integer
reasonCode
string
Example
{
"state": "SUCCESS",
"payload": {
"status": "Received",
"inspection": {
"receivingParty": "Supplier",
"outcome": "AcceptedDefect",
"supplierProposedOutcome": "AcceptedDefect",
"evidence": [
{
"kind": "Photo"
}
]
}
}
}

Request validation failed.

Media typeapplication/json
object
state
required
string
payload
details
object
Example
{
"state": "NOT_FOUND_VENDOR_OFFER"
}

Your token doesn’t carry the capability this endpoint requires.

Media typeapplication/json
object
state
required
string
payload
details
object
Examples
ExamplemissingCapability
{
"state": "FORBIDDEN_CAPABILITY_NOT_GRANTED",
"payload": null,
"details": {
"requiredCapability": "Orders"
}
}

Unknown return request id, one belonging to another vendor, or one not destined to a supplier at all (a Linra-sorting-point-bound return — never reachable on this API).

Media typeapplication/json
object
state
required
string
payload
details
object
Examples
ExamplenotFound
{
"state": "NOT_FOUND_RETURN_REQUEST",
"payload": null,
"details": {}
}

Evidence is required before a proposal, or the request is not currently UnderInspection.

Media typeapplication/json
object
state
required
string
payload
details
object
Examples
{
"state": "BUSINESS_RETURN_INSPECTION_EVIDENCE_REQUIRED",
"payload": null,
"details": {}
}

Too many requests. Retry after the Retry-After header (seconds).

Media typeapplication/json
object
state
required
string
payload
details
object
Example
{
"state": "NOT_FOUND_VENDOR_OFFER"
}
Retry-After
integer

Seconds to wait before retrying.