> For the complete documentation index, see [llms.txt](https://docs.spurtcommerce.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.spurtcommerce.com/api-reference/store/orders/order-cancellation.md).

# Order Cancellation

Retrieve cancellation reasons and submit cancellation requests.

## List available reasons for cancelling an order item.

> List available reasons for cancelling an order item.\
> \
> \*\*Authentication:\*\* Customer bearer token required.\
> \
> \*\*Feature area:\*\* Orders\
> \
> \*\*Implementation source:\*\* \`src/api/store/controllers/CustomerOrderController.ts\`\
> \
> \*\*Request example provenance:\*\* Source handler response message and fields; reason values illustrative.\
> \
> \*\*Response example provenance:\*\* Source handler response message and fields; reason values illustrative.\
> \
> \> \*\*Example status: Illustrative.\*\* The example is included to demonstrate request/response shape in the reference UI; verify the owning controller and request DTO before using it as a contract.

```json
{"openapi":"3.0.3","info":{"title":"SpurtCommerce Store API","version":"6.0.0"},"tags":[{"name":"Order cancellation","description":"Retrieve cancellation reasons and submit cancellation requests."}],"servers":[{"url":"https://api.example.com","description":"Replace with your SpurtCommerce API host. Paths include the /api prefix."}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Paste the JWT access token returned by the corresponding login endpoint."}}},"paths":{"/api/orders/order-cancel-reason-list":{"get":{"operationId":"getApiOrdersOrderCancelReasonList","summary":"List available reasons for cancelling an order item.","description":"List available reasons for cancelling an order item.\n\n**Authentication:** Customer bearer token required.\n\n**Feature area:** Orders\n\n**Implementation source:** `src/api/store/controllers/CustomerOrderController.ts`\n\n**Request example provenance:** Source handler response message and fields; reason values illustrative.\n\n**Response example provenance:** Source handler response message and fields; reason values illustrative.\n\n> **Example status: Illustrative.** The example is included to demonstrate request/response shape in the reference UI; verify the owning controller and request DTO before using it as a contract.","tags":["Order cancellation"],"parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer"},"description":"Query parameter limit."},{"name":"offset","in":"query","required":false,"schema":{"type":"integer"},"description":"Query parameter offset."},{"name":"count","in":"query","required":false,"schema":{"type":"boolean"},"description":"Query parameter count."}],"responses":{"200":{"description":"Successful response. Source handler response message and fields; reason values illustrative. Example is illustrative and does not guarantee a stable response contract.","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string"},"status":{"type":"integer"},"data":{"type":"array","items":{"type":"object","properties":{"id":{"type":"integer"},"reason":{"type":"string"}},"additionalProperties":true}}},"additionalProperties":true}}}}}}}}}
```

## Create a cancellation request for an order product.

> Create a cancellation request for an order product.\
> \
> \*\*Authentication:\*\* Customer bearer token required.\
> \
> \*\*Feature area:\*\* Orders\
> \
> \*\*Implementation source:\*\* \`src/api/store/controllers/CustomerOrderController.ts\`\
> \
> \*\*Request example provenance:\*\* Source request fields; response message may differ based on handler result.\
> \
> \*\*Response example provenance:\*\* Source request fields; response message may differ based on handler result.\
> \
> \> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.

```json
{"openapi":"3.0.3","info":{"title":"SpurtCommerce Store API","version":"6.0.0"},"tags":[{"name":"Order cancellation","description":"Retrieve cancellation reasons and submit cancellation requests."}],"servers":[{"url":"https://api.example.com","description":"Replace with your SpurtCommerce API host. Paths include the /api prefix."}],"security":[{"BearerAuth":[]}],"components":{"securitySchemes":{"BearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Paste the JWT access token returned by the corresponding login endpoint."}}},"paths":{"/api/orders/order-cancel-request":{"post":{"operationId":"postApiOrdersOrderCancelRequest","summary":"Create a cancellation request for an order product.","description":"Create a cancellation request for an order product.\n\n**Authentication:** Customer bearer token required.\n\n**Feature area:** Orders\n\n**Implementation source:** `src/api/store/controllers/CustomerOrderController.ts`\n\n**Request example provenance:** Source request fields; response message may differ based on handler result.\n\n**Response example provenance:** Source request fields; response message may differ based on handler result.\n\n> Example is based on the linked repository source. Replace example identifiers and credentials with values from your tenant.","tags":["Order cancellation"],"responses":{"200":{"description":"Successful response. Source request fields; response message may differ based on handler result.","content":{"application/json":{"schema":{"type":"object","properties":{"status":{"type":"integer"},"message":{"type":"string"}},"additionalProperties":true}}}}},"requestBody":{"required":false,"description":"Sample request body. Source request fields; response message may differ based on handler result.","content":{"application/json":{"schema":{"type":"object","properties":{"description":{"type":"string"},"orderProductId":{"type":"integer"},"reasonId":{"type":"integer"}},"additionalProperties":true}}}}}}}}
```
