Cancellation Reasons

Get valid cancellation reason codes for a specific order. Call this endpoint before cancelling to retrieve the reason IDs accepted by the cancel endpoint. Available reason codes may vary depending on the current order state.

Get Cancellation Reasons

GET/ret11/cancellation-reasons/{orderId}
Auth Required

Include a Bearer token. See Authentication.

Parameters

Parameter In Type Required Description
orderId path string required The order ID to fetch cancellation reasons for

Response

Returns a list of cancellation reason objects. Each object contains a reason id and a human-readable description. Pass the id as cancellationReasonId in the cancel endpoint.

Field Type Description
id string Reason code to pass as cancellationReasonId in the cancel request
description string Human-readable label for the cancellation reason
[
  { "id": "001", "description": "Buyer wants to cancel" },
  { "id": "002", "description": "Buyer found better price elsewhere" },
  { "id": "003", "description": "Product is no longer required" },
  { "id": "004", "description": "Duplicate order placed by mistake" },
  { "id": "005", "description": "Buyer wants to change address" },
  { "id": "006", "description": "Order placed by mistake" },
  { "id": "009", "description": "Item not available" },
  { "id": "010", "description": "Store is too far" },
  { "id": "011", "description": "Delivery time too long" },
  { "id": "012", "description": "Buyer not available at delivery location" }
]

Standard ONDC Cancellation Reason Codes

Reason ID Description Notes
001 Buyer wants to cancel
002 Buyer found better price elsewhere
003 Product is no longer required
004 Duplicate order placed by mistake
005 Buyer wants to change address
006 Order placed by mistake Most commonly used
009 Item not available
010 Store is too far
011 Delivery time too long
012 Buyer not available at delivery location
Reason Availability Depends on Order State

Not all reason codes are available for every order. The set of valid codes returned by this endpoint may be narrower depending on how far along the fulfillment process the order is. Always use the IDs returned by this endpoint rather than hardcoding values.

Endpoint Purpose
Cancel Cancel an order using a cancellationReasonId from this endpoint
Status Check current fulfillment state and cancellation_terms fees before cancelling
Return Reasons Fetch valid reason codes for returning a completed order