---
title: "Cancel purchase"
method: POST
path: "/user/purchases/{id}/cancel"
tags: ["user-purchases"]
---

# Cancel purchase

`POST /user/purchases/{id}/cancel`

Cancel an entire purchase from the buyer side.

Use this endpoint when a user requests cancellation before fulfillment state makes cancellation invalid.

Rules:
- Purchase must belong to the authenticated user.
- Cancellation may fail when items are already shipped or otherwise non-cancellable.

Responses:
- Returns `204` when cancellation succeeds.
- Returns `400` when cancellation is not allowed by current order/item state.
- Returns `404` when purchase is missing or not owned.

## Path parameters

- `id` string, required — Purchase ID

## Response `204`

Purchase cancelled

## Other responses

- `400` — Purchase cannot be cancelled because no orders or items are available, or some items have already shipped.
- `404` — Purchase not found

---

[API](https://skmtc.net/managem/apis/managem-api.md) · [All operations](https://skmtc.net/managem/apis/managem-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/managem/managem-api/versions/5ed45d6a9e2f/schema)
