---
title: "Cancel Subscription By Account"
method: POST
path: "/subscriptions/cancel"
---

# Cancel Subscription By Account

`POST /subscriptions/cancel`

## Request

- Base URL: `https://development.knotapi.com`
- URL: `https://development.knotapi.com/subscriptions/cancel`
- Auth: HTTP basic

Cancel a subscription or bill associated with a linked merchant account

## Request body

- object
  - `external_user_id` string, required: Your unique identifier for the user.
  - `merchant_id` integer, required: The unique ID of the merchant whose linked account the subscription is cancelled on.
  - `simulate` union: Simulate a failed cancellation or an error response in the development environment.
    - 'failed': The cancellation attempt fails and triggers the `CANCELLATION_FAILED` webhook. Requires exactly one cancellable subscription on the merchant account; otherwise the matching `CANCELLABLE_SUBSCRIPTION_NOT_FOUND` or `MULTIPLE_CANCELLABLE_SUBSCRIPTIONS_FOUND` error is returned instead.
    - 'no_cancellable_subscriptions': The request fails with a `CANCELLABLE_SUBSCRIPTION_NOT_FOUND` error, as if the merchant account had no cancellable subscriptions.
    - 'multiple_subscriptions': The request fails with a `MULTIPLE_CANCELLABLE_SUBSCRIPTIONS_FOUND` error listing the cancellable subscriptions on the merchant account.

## Response `202`

Cancellation request accepted.

- object
  - `message` string

## Other responses

- `400`: Bad request.
- `401`: Unauthorized request.
- `403`: Forbidden request.
- `500`: Internal server error.

## Changes

- **2026-11-03** `f10ecfa12c00`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/knotapi/apis/knot-api/changes/subscriptions/cancel/post.md)

---

[API](https://skmtc.dev/knotapi/apis/knot-api.md) - [All operations](https://skmtc.dev/knotapi/apis/knot-api/llms.txt) - [OpenAPI document](https://skmtc.dev/knotapi/apis/knot-api/revisions/f10ecfa12c00?raw)
