Place, update, and cancel reverse pickup orders.
Place pickup order
Schedule a reverse logistics pickup from a customer's address.
Use this when a customer wants to return a product. Shadowfax assigns a rider to pick up the item from the customer and deliver it to either the seller's address (RTS) or your warehouse (RTO).
Idempotency: If you send the same client_order_id twice, the second call returns the existing order instead of creating a duplicate (HTTP 200), in the same response shape as a fresh creation. The window is 30 minutes by default — after that the same client_order_id creates a new order.
AWB: Leave order_details.awb_number blank and Shadowfax assigns one, or pass an AWB you pre-generated through the AWB generation endpoint.
E-Way Bill: Required when product value is Rs. 50,000 or above.
Place pickup order › Request Body
The customer's address where the rider will pick up the return item.
Where the picked-up item should be delivered — either the seller's address (RTS) or your warehouse (RTO).
List of items being picked up. At least one item required.
Place pickup order › Responses
Order placed successfully, or duplicate order returned (idempotent)
Decision Table
| Variant | Matching Criteria |
|---|---|
| type = object | |
| type = object |
messageerrorsAlways null on success.
Update pickup order
Update various aspects of an existing pickup order — address details, return details, order metadata, or product information.
All sections are optional; include only the sections you want to update.
Restrictions:
- Order status cannot be changed through this endpoint. Reverse orders move through their lifecycle operationally — see Order Lifecycle.
- Cannot update orders in terminal statuses (Returned To Client, Cancelled, Lost).
- Pickup details (customer address) cannot be updated once the order reaches
PickedorReceived. - Return details cannot be changed after RTS/RTO phase begins.
Update pickup order › Request Body
awb_numberAWB number of the order to update.
Updated customer pickup details. Cannot be modified after Out For Pickup.
Updated return/seller details. Cannot be modified after RTS/RTO phase begins.
Updated order-level metadata.
Updated SKU/product information.
Update pickup order › Responses
Cancel pickup order
Cancel a pickup order that has not yet reached an irreversible state.
Business rules:
- Cannot cancel orders in Out For Pickup, Picked, or any terminal status (Returned To Client, Cancelled, Lost).
- The order must belong to the authenticated client.
- Provide either the AWB number or your client_order_id as the
request_id.
Cancel pickup order › Request Body
request_idAWB number or your client_order_id identifying the order to cancel.
cancel_remarksReason for cancellation.
Cancel pickup order › Responses
Order cancelled successfully
responseMsgSuccess message.
responseCodeHTTP status code.