---
title: "Cancel order"
method: POST
path: "/api/v1/orders/{id}/cancel"
tags: ["Orders"]
---

# Cancel order

`POST /api/v1/orders/{id}/cancel`

Request cancellation of an order.

Order cancellations are subject to each merchant's cancellation policy.

## Path parameters

- `id` string, required

## Request body

- OrderCancelParams — Body for `POST /orders/{id}/cancel`. The order id comes from the URL, so the caller only supplies the cancellation reason (code + optional note).
  - `reason` CancellationReason, required
    - `message` string — Optional free-text note explaining the cancellation, forwarded to the merchant when possible.
    - `code` 'requested_by_customer' | 'fraud' | 'inventory' | 'payment_issue' | 'staff_error' | 'other', required

## Response `200`

OK

- union
  - RequestedCancellation
    - `reason` CancellationReason, required
      - `message` string — Optional free-text note explaining the cancellation, forwarded to the merchant when possible.
      - `code` 'requested_by_customer' | 'fraud' | 'inventory' | 'payment_issue' | 'staff_error' | 'other', required
    - `marketplaceOrderId` string, required
    - `checkoutIntentId` string, required
    - `createdAt` string, date-time, required
    - `id` string, required
    - `state` 'requested', required
  - CompletedCancellation
    - `reason` CancellationReason, required
      - `message` string — Optional free-text note explaining the cancellation, forwarded to the merchant when possible.
      - `code` 'requested_by_customer' | 'fraud' | 'inventory' | 'payment_issue' | 'staff_error' | 'other', required
    - `marketplaceOrderId` string, required
    - `checkoutIntentId` string, required
    - `createdAt` string, date-time, required
    - `id` string, required
    - `state` 'completed', required
  - DeniedCancellation
    - `reason` CancellationReason, required
      - `message` string — Optional free-text note explaining the cancellation, forwarded to the merchant when possible.
      - `code` 'requested_by_customer' | 'fraud' | 'inventory' | 'payment_issue' | 'staff_error' | 'other', required
    - `marketplaceOrderId` string, required
    - `checkoutIntentId` string, required
    - `createdAt` string, date-time, required
    - `id` string, required
    - `denialReason` CancellationDenialReason, required
      - `code` 'other' | 'already_shipped' | 'non_cancellable_item' | 'cancellation_window_expired', required
      - `message` string, required
    - `state` 'denied', required

## Other responses

- `401` — Authentication Failed
- `404` — Not Found
- `409` — Conflict
- `422` — Validation Error

---

[API](https://skmtc.net/rye-com/apis/universal-checkout-api.md) · [All operations](https://skmtc.net/rye-com/apis/universal-checkout-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/rye-com/universal-checkout-api/versions/64dd95f8c66b/schema)
