---
title: "Cancel subscription"
method: POST
path: "/api/public/v1/subscriptions/{id}/cancel"
tags: ["Subscriptions"]
---

# Cancel subscription

`POST /api/public/v1/subscriptions/{id}/cancel`

Cancel a subscription. The system automatically determines whether to withdraw (for early-stage subscriptions) or cancel (for active subscriptions) based on the subscription state.

## Path parameters

- `id` string, required

## Headers

- `Authorization` string, required

## Request body

- object
  - `reason` string — Optional cancellation reason

## Response `200`

Subscription cancelled with reason

- object
  - `success` boolean, required
  - `message` string, required

## Other responses

- `401` — Unauthorized - subscription belongs to different merchant
- `404` — Not Found
- `422` — Unprocessable Entity

---

[API](https://skmtc.dev/sequra/apis/checkout-api.md) · [All operations](https://skmtc.dev/sequra/apis/checkout-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/sequra/checkout-api/revisions/2b0b60c52d04/schema)
