Update / Return

Request a return for items from a delivered order. Requires proof images and a valid return reason code from the return-reasons endpoint. Returns can only be initiated on completed orders.

Initiate Return

POST/ret11/update
Auth Required

Include a Bearer token. See Authentication.

Request Body

FieldTypeRequiredDescription
orderIdstringrequiredOrder ID of the completed order to return items from
itemsarrayrequiredList of items to return. See items[] below.
imagesstring[]requiredProof image URLs as evidence for the return. Example: ["https://images.com"]

items[]

FieldTypeRequiredDescription
itemIdstringrequiredID of the item to return
quantitynumberrequiredNumber of units to return
reasonIdstringrequiredReturn reason code from the return-reasons endpoint. Example: "003"
reasonDescstringrequiredDescription explaining the return reason
parentItemIdstringoptionalFor customizable items: the parent item grouping ID
{
  "orderId": "019c2ed4b42a79b4b093b41d5dcd1352",
  "items": [
    {
      "itemId": "id_ancc5_0_0",
      "quantity": 1,
      "reasonId": "003",
      "reasonDesc": "Item not as described"
    }
  ],
  "images": ["https://images.com"]
}

Response

Returns an ONDC update acknowledgment. The context.action is "update" and message.ack.status is "ACK" when the return request is accepted.

FieldTypeDescription
contextobjectONDC context block with action: "update"
message.ack.statusstring"ACK" when the return request is accepted
{
  "data": {
    "context": {
      "domain": "ONDC:RET11",
      "country": "IND",
      "city": "std:080",
      "action": "update",
      "core_version": "1.2.0",
      "bap_id": "ondc.preprod.highwaydelite.com",
      "bap_uri": "https://ondc.preprod.highwaydelite.com/ret11",
      "bpp_id": "pramaan.ondc.org/beta/preprod/mock/seller",
      "bpp_uri": "https://pramaan.ondc.org/beta/preprod/mock/seller",
      "transaction_id": "56a55c3f-8052-4bb6-91d6-47e1a178a0c0",
      "message_id": "d4e5f6a7-b8c9-0123-defa-456789012345",
      "timestamp": "2026-06-10T11:00:00.000Z",
      "ttl": "PT30S"
    },
    "message": {
      "ack": {
        "status": "ACK"
      }
    }
  }
}

Return States

After initiating a return, track its progress via the order-details endpoint. The current return state is available in the orderCancelFulfillments field.

StateMeaning
Return_RequestedReturn request submitted, awaiting seller review
Return_InitiatedReturn approved by seller, process started
LiquidatedReturn complete, refund initiated
Completed Orders Only

Returns can only be initiated for orders that have been delivered. Attempting to return items from an order that is not yet completed will result in an error.

Get Return Reason IDs

Retrieve valid reasonId values from the return-reasons endpoint before calling this endpoint.

EndpointPurpose
Return ReasonsFetch valid reasonId values to use in the request
Order DetailsTrack return status via orderCancelFulfillments after initiating a return
CancelCancel an order before delivery instead of returning after