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

ParameterInTypeRequiredDescription
orderIdpathstringrequiredThe 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.

FieldTypeDescription
idstringReason code to pass as cancellationReasonId in the cancel request
descriptionstringHuman-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 IDDescriptionNotes
001Buyer wants to cancel
002Buyer found better price elsewhere
003Product is no longer required
004Duplicate order placed by mistake
005Buyer wants to change address
006Order placed by mistakeMost commonly used
009Item not available
010Store is too far
011Delivery time too long
012Buyer 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.

EndpointPurpose
CancelCancel an order using a cancellationReasonId from this endpoint
StatusCheck current fulfillment state and cancellation_terms fees before cancelling
Return ReasonsFetch valid reason codes for returning a completed order