Return Reasons
Get valid return reason codes for a completed order. Call this endpoint before initiating a return to retrieve the reason IDs accepted by the update endpoint. Only available for orders in the Completed state.
Get Return Reasons
Include a Bearer token. See Authentication.
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| orderId | path | string | required | The completed order ID to fetch return reasons for |
Response
Returns a list of return reason objects. Each object contains a reason
id and a human-readable description. Pass
the id as items[].reasonId in the
update endpoint.
| Field | Type | Description |
|---|---|---|
| id | string |
Reason code to pass as reasonId in each item of the
update request
|
| description | string | Human-readable label for the return reason |
Response Example
[
{ "id": "001", "description": "Received wrong item" },
{ "id": "002", "description": "Item damaged during delivery" },
{ "id": "003", "description": "Item not as described" },
{ "id": "004", "description": "Expired product received" },
{ "id": "005", "description": "Missing parts/accessories" }
]
Standard ONDC Return Reason Codes
| Reason ID | Description | Notes |
|---|---|---|
| 001 | Received wrong item | |
| 002 | Item damaged during delivery | |
| 003 | Item not as described | Used in examples |
| 004 | Expired product received | |
| 005 | Missing parts/accessories |
This endpoint is only available for orders in the Completed state. Always verify the order state before fetching return reasons. Use the IDs returned by this endpoint rather than hardcoding values.
Related Endpoints
| Endpoint | Purpose |
|---|---|
| Update / Return |
Initiate a return using a reasonId from this
endpoint in each items[] entry
|
| Cancellation Reasons | Fetch valid reason codes for cancelling an order instead of returning |
| Order Details | Confirm an order is in Completed state before fetching return reasons |