---
title: "Cancel the caller's active subscription at period end"
method: POST
path: "/v1/billing/cancel"
tags: ["billing"]
---

# Cancel the caller's active subscription at period end

`POST /v1/billing/cancel`

## Request

- Base URL: `https://api.ctindex.io`
- URL: `https://api.ctindex.io/v1/billing/cancel`
- Auth: one of:
  - API key in header `X-API-Key`
  - HTTP bearer

Marks the caller's Stripe subscription as ``cancel_at_period_end`` so paid entitlements survive until the already-paid period runs out, after which the webhook resets the key to the free tier. Returns the updated cancellation status.

## Cookies

- `ctix_session` string, nullable

## Response `200`

Successful Response

- object

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/ctindex/apis/certindex-api.md) · [All operations](https://skmtc.dev/ctindex/apis/certindex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ctindex/apis/certindex-api/revisions/d5bc0ec85bc9?raw)
