Start a return (Beta)
Beta — this endpoint is unstable; its request and response shapes may change.
Opens a return request for one or more lines of an order. A 201 means the request was opened — not that any line is approved yet. Every requested line starts Pending.
Learning the outcome: Sibi staff approve or deny each line independently (one request can end with some lines approved and others denied). Learn the result by subscribing to the order.returnrequest.item-approved and order.returnrequest.item-denied webhook events — see Order Return Requests events — or by re-reading the order with GET /orders/{orderId}, whose returnRequests array carries each line’s current status.
A line that is not eligible, is not on the order, appears more than once, or exceeds the returnable quantity is rejected with a 400. The 400 lists every failing line in details[] — each carrying its own code from the set below — and no return request is created unless all lines pass.
| Code | Meaning |
|---|---|
RETURN_INVALID_CONDITION |
The condition is not one of the accepted values |
RETURN_INVALID_QUANTITY |
The quantity is not a positive whole number |
RETURN_DUPLICATE_LINE |
The same order line appears more than once in the request |
RETURN_LINE_NOT_ON_ORDER |
The sku does not match any line on the order |
RETURN_AMBIGUOUS_SKU |
The sku matches more than one line on the order, so it cannot identify a single line to return |
RETURN_ITEM_NOT_ELIGIBLE |
Policy or current state does not allow returning this line — see the line’s reasonCode (e.g. ALREADY_REQUESTED when a return request already exists for it, RETURN_WINDOW_EXPIRED, ALREADY_RETURNED) |
RETURN_QUANTITY_EXCEEDED |
The requested quantity exceeds what remains returnable on the line |
/orders/{orderId}/return-requestsAuthorizationBearer token · headerrequiredA Sibi Public API token or access token, sent as Authorization: Bearer <token>.
create:returnsorderIdstringrequiredThe order the return data belongs to.
application/jsonitemsReturnRequestItemInput[]requiredThe lines to return. At least one; each must reference a distinct order line.
Show propertiesHide properties
ReturnRequestItemInputskustringrequiredThe product SKU of the order line to return, correlating to the order's lineItems[].sku. Must match exactly one line on the order.
quantityintegerrequiredUnits of the order line to return. At least one, and bounded by the ordered quantity.
conditionstringrequiredPhysical condition of the item at intake.
UNOPENEDOPENED-UNUSEDINSTALLEDDAMAGEDrequestReasonstringrequiredWhy the line is being returned.
The return request was opened. Every line starts Pending.
orderIdstringrequiredThe order the returned lines belong to.
createdAtstringrequiredISO 8601 timestamp of when the request was created.
updatedAtstringrequiredISO 8601 timestamp of the most recent change.
itemsReturnRequestItem[]requiredThe requested lines, each carrying its current status.
Show propertiesHide properties
ReturnRequestItemskustringrequiredProduct SKU of the returned line (correlates to the order's lineItems[].sku).
quantityintegerrequiredHow many units of the order line this covers.
conditionstringrequiredPhysical condition reported at intake.
requestReasonstringrequiredWhy the line was requested for return.
statusstringrequiredPer-item status, derived from the latest decision (Pending when none exists).
PendingApprovedDenieddenialReasonstring | nullrequiredWhy the line was denied; set only when status is Denied, null otherwise.
Bad request - Invalid input data. See the operation description for the possible error codes.
codestringrequiredError code indicating the type of error
VALIDATION_ERRORRETURN_INVALID_CONDITIONRETURN_INVALID_QUANTITYRETURN_DUPLICATE_LINERETURN_LINE_NOT_ON_ORDERRETURN_AMBIGUOUS_SKURETURN_ITEM_NOT_ELIGIBLERETURN_QUANTITY_EXCEEDEDmessagestringrequiredHuman-readable error message explaining what went wrong
detailsobject[]Detailed validation errors when applicable
Show propertiesHide properties
objectfieldstringrequirederrorstringrequiredUnauthorized - Missing or invalid authentication
codestringrequiredError code indicating the type of error
messagestringrequiredHuman-readable error message explaining what went wrong
detailsobject[]Detailed validation errors when applicable
Show propertiesHide properties
objectfieldstringrequirederrorstringrequiredForbidden - the token was minted for the other environment, is not a Public REST API token, does not carry the scope this operation requires, or targeted the test environment (the Returns API is production-only)
codestringrequiredError code indicating the type of error
messagestringrequiredHuman-readable error message explaining what went wrong
detailsobject[]Detailed validation errors when applicable
Show propertiesHide properties
objectfieldstringrequirederrorstringrequiredNot found - no order with the given id is visible to the caller, or its return data could not be resolved
codestringrequiredError code indicating the type of error
messagestringrequiredHuman-readable error message explaining what went wrong
detailsobject[]Detailed validation errors when applicable
Show propertiesHide properties
objectfieldstringrequirederrorstringrequiredInternal server error
codestringrequiredError code indicating the type of error
messagestringrequiredHuman-readable error message explaining what went wrong
detailsobject[]Detailed validation errors when applicable
Show propertiesHide properties
objectfieldstringrequirederrorstringrequired