---
title: "Preview subscription cancellation"
method: POST
path: "/billing/subscription-cancellation/preview"
tags: ["Billing"]
---

# Preview subscription cancellation

`POST /billing/subscription-cancellation/preview`

## Request

- Base URL: `https://api.sazabi.com/v1`
- URL: `https://api.sazabi.com/v1/billing/subscription-cancellation/preview`
- Auth: none declared

Preview period-end subscription cancellation without changing billing state.

## Request body

- object
  - `organizationId` string: Organization to operate on. Auto-filled from CLI and SDK context when omitted. User tokens must supply it unless the credential's fixed scope resolves it; secret keys may omit it (the key's organization applies).

## Response `200`

OK

- object
  - `currentPlan` object, required
    - `slug` string, required
    - `name` string, required
    - `price` string, nullable, required
    - `currency` string, nullable, required
    - `cycleCredits` string, nullable, required: Credits added to the balance each billing cycle (billing_plans.config.cycleCredits). Additive, never a balance target.
    - `targetCreditBalance` string, nullable, required
    - `subscriptionStatus` string, required
    - `cycleStartsAt` string, date-time, nullable, required
    - `cycleEndsAt` string, date-time, nullable, required
    - `renewalAt` string, date-time, nullable, required
    - `pendingSwitch` object, nullable, required
      - `billingSubscriptionChangeId` string, required
      - `effectiveAt` string, date-time, required
      - `planSlug` string, nullable, required
      - `planName` string, nullable, required
      - `price` string, nullable, required
      - `currency` string, nullable, required
      - `cycleCredits` string, nullable, required: Credits added to the balance each billing cycle (billing_plans.config.cycleCredits). Additive, never a balance target.
      - `targetCreditBalance` string, nullable, required
    - `pendingCancellation` object, nullable, required
      - `effectiveAt` string, date-time, required
  - `effectiveAt` string, date-time, required
  - `currentBalance` string, required
  - `servicePolicy` 'active_until_period_end', required
  - `creditPolicy` 'dormant_until_resubscription', required
  - `scheduledFinalCharge` string, nullable, required
  - `autoTopUpEnabled` boolean, required
  - `pendingDowngrade` object, nullable, required
    - `billingSubscriptionChangeId` string, required
    - `effectiveAt` string, date-time, required
    - `planSlug` string, nullable, required
    - `planName` string, nullable, required
    - `price` string, nullable, required
    - `currency` string, nullable, required
    - `cycleCredits` string, nullable, required: Credits added to the balance each billing cycle (billing_plans.config.cycleCredits). Additive, never a balance target.
    - `targetCreditBalance` string, nullable, required
  - `calculatedAt` string, date-time, required

## Changes

- **2026-09-04** `f7ae8f775456`: 3 info
  - added the required property `currentPlan/cycleCredits` to the response with the `200` status
  - added the required property `currentPlan/pendingSwitch/anyOf[subschema #1]/cycleCredits` to the response with the `200` status
  - added the required property `pendingDowngrade/anyOf[subschema #1]/cycleCredits` to the response with the `200` status

[Operation history](https://skmtc.dev/sazabi/apis/sazabi-public-api/changes/billing/subscription-cancellation/preview/post.md)

---

[API](https://skmtc.dev/sazabi/apis/sazabi-public-api.md) - [All operations](https://skmtc.dev/sazabi/apis/sazabi-public-api/llms.txt) - [OpenAPI document](https://skmtc.dev/sazabi/apis/sazabi-public-api/revisions/965b6230cf45?raw)
