Open a return request
Opens a return request for one or more lines of an order. Every requested line starts in a PENDING status; Sibi staff then approve or deny each line, and the outcome arrives on the order.return-request.item-approved and order.return-request.item-denied webhook events — see Order Return Requests events.
Check line eligibility first with GET /orders/{orderId}/returns/eligibility. A request for a line that is not eligible, is not on the order, appears twice, or exceeds the returnable quantity is rejected with a 400 carrying one of the codes: RETURN_INVALID_CONDITION, RETURN_INVALID_QUANTITY, RETURN_DUPLICATE_LINE, RETURN_LINE_NOT_ON_ORDER, RETURN_ITEM_NOT_ELIGIBLE, RETURN_QUANTITY_EXCEEDED.
/{orderId}/returnsAuthorizationBearer token · headerrequiredAPI token from the SIBI developer dashboard (developer.sibipro.com), 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
ReturnRequestItemInputorderLineItemIdstringrequiredThe order line to return, referencing the order line by its itemId.
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.
idstringrequiredThe unique identifier for the return request.
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
ReturnRequestItemorderLineItemIdstringrequiredLinks back to the order line (Order line itemId).
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).
PENDINGAPPROVEDDENIEDlatestDecisionReturnItemDecision | nullrequiredThe most recent decision on this line; null while PENDING.
Show propertiesHide properties
outcomestringrequiredThe decision recorded for the line.
APPROVEDDENIEDdenialReasonstring | nullrequiredSet only when the outcome is DENIED.
decidedAtstringrequiredISO 8601 timestamp of when the decision was made.
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_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