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

# Cancel a subscription

`POST /subscriptions/cancel/{id}`

Cancels an active subscription by its ID.

## Path parameters

- `id` integer, required

## Request body

- SubscriptionInput
  - `ref_subscription_cancellation_reason_id` integer, required — ID of the reason for cancelling the subscription. Use the /subscriptions/cancellation_reasons endpoint to get the list of valid IDs. Valid IDs: - 2: client_request_client_dissatisfied - Customer requested cancellation. Dissatisfied with service - 3: internal_decision_fired_client - Internal decision. Fired Client. - 4: billing_error - Billing error. Duplicate charge, failed charge, etc. - 5: other - Other reason not listed. - 6: unknown - Unknown reason. Client did not provide a reason. - 7: system_cancelled - System cancelled (non-payment or failed payment). - 8: client_request_changing_to_competitor - Client switching to competitor's service. - 9: client_request_changing_to_individual - Client switching to individual plan. - 10: client_request_terminating_registration - Client terminated state registration. - 11: client_request_doing_themselves - Client doing service themselves.

## Response `200`

Subscription cancellation request received

- object
  - `message` string

## Other responses

- `400` — Invalid parameter format
- `401` — Unauthenticated
- `403` — Forbidden - User does not have access to this subscription
- `404` — Subscription not found.

---

[API](https://skmtc.net/harborcompliance/apis/harbor-compliance-api.md) · [All operations](https://skmtc.net/harborcompliance/apis/harbor-compliance-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/harborcompliance/harbor-compliance-api/revisions/f9302ec2ef8a/schema)
