---
title: "Cancel Subscription"
method: POST
path: "/api/v1/admin/stripe-subscriptions/{subscription_id}/cancel"
tags: ["Admin APIs", "stripe-subscriptions"]
---

# Cancel Subscription

`POST /api/v1/admin/stripe-subscriptions/{subscription_id}/cancel`

Cancel a Stripe subscription immediately, at period end, or on a custom date.

Optionally issues a refund and converts the linked CAMS plan to a $0 plan.

## Path parameters

- `subscription_id` string, required

## Request body

- CancelSubscriptionRequest
  - `cancel_when` 'immediately' | 'end_of_period' | 'custom_date', required
  - `cancel_at` string, date-time, nullable
  - `refund` 'none' | 'last_payment' | 'prorated'
  - `mode` 'cancel_only' | 'cancel_and_convert'
  - `convert_starts_at` string, date-time, nullable
  - `convert_plan_name` string, nullable

## Response `200`

Successful Response

- CancelSubscriptionResponse
  - `id` string, required
  - `status` string, required
  - `cancel_at` integer, nullable
  - `canceled_at` integer, nullable
  - `cancel_at_period_end` boolean
  - `current_period_end` integer, nullable
  - `refund_status` 'not_requested' | 'succeeded' | 'failed' | 'no_payment_intent'
  - `refund_error` string, nullable
  - `plan_conversion_status` 'not_applicable' | 'succeeded' | 'failed'
  - `plan_conversion_error` string, nullable

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/carbonarc/apis/carbon-arc-client-admin-api.md) · [All operations](https://skmtc.net/carbonarc/apis/carbon-arc-client-admin-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/carbonarc/carbon-arc-client-admin-api/revisions/a8ca30023371/schema)
