---
title: "Studio Cancel"
method: POST
path: "/api/billing/studio/cancel"
tags: ["billing"]
---

# Studio Cancel

`POST /api/billing/studio/cancel`

## Request

- Base URL: `https://api.tintin-x.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.tintin-x.com/api/billing/studio/cancel`
- Auth: HTTP bearer

Cancel the studio subscription at period end (keeps access + credits
until the paid period lapses). Reversible via /studio/resume. Optional
owner_team_id (flag-gated + owner-only) cancels the team subscription.

## Request body

- StudioCancelRequest: Cancel body: optional reason + one-line comment (both skippable).
  - `owner_team_id` string, uuid, nullable
  - `reason` 'too_expensive' | 'low_quality' | 'missing_features' | 'unused' | 'switched_service' | 'too_complex' | 'customer_service' | 'other', nullable
  - `comment` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/tintin-x/apis/tintin-api.md) · [All operations](https://skmtc.dev/tintin-x/apis/tintin-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tintin-x/apis/tintin-api/revisions/8839a8d0a66c?raw)
