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

# Cancel subscription

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

## Request

- Base URL: `http://localhost:3009`
- URL: `http://localhost:3009/api/public/v1/subscriptions/{id}/cancel`
- Auth: HTTP basic

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/instore-api.md) - [All operations](https://skmtc.dev/sequra/apis/instore-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sequra/apis/instore-api/revisions/29430b803abc?raw)
