---
title: "Cancel Subscription"
method: POST
path: "/iap/subscriptions/cancel"
tags: ["Subscriptions"]
---

# Cancel Subscription

`POST /iap/subscriptions/cancel`

Cancels a user's active web checkout subscription. By default, access continues until the end of the current billing period (`immediate: false`). Set `immediate: true` to revoke access immediately.

## Request body

- object
  - `user_id` string, required — The user's external ID.
  - `product_id` string — Specific product to cancel. If omitted, cancels the user's active subscription.
  - `immediate` boolean — If `true`, cancels immediately and revokes access. If `false`, cancels at end of billing period.

## Response `200`

Subscription cancelled

- CancelResponse — Response from cancelling a subscription.
  - `status` string — Result status.
  - `cancelled_at` string, date-time — When the cancellation was processed.
  - `access_until` string, date-time — When the user will lose access (end of billing period for non-immediate cancellations).

## Other responses

- `400` — Invalid request -- missing or malformed parameters.
- `401` — Invalid or missing API key.
- `404` — Resource not found.

---

[API](https://skmtc.net/zerosettle/apis/zerosettle-iap-api.md) · [All operations](https://skmtc.net/zerosettle/apis/zerosettle-iap-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zerosettle/zerosettle-iap-api/versions/1a7aa12f3d5e/schema)
