---
title: "Confirm Subscription Plan Change"
method: POST
path: "/billing/subscription/change-plan/confirm"
tags: ["billing"]
---

# Confirm Subscription Plan Change

`POST /billing/subscription/change-plan/confirm`

## Request

- Base URL: `https://api.threadchain.pro` (the document declares no server; this is the origin it was published from)
- URL: `https://api.threadchain.pro/billing/subscription/change-plan/confirm`
- Auth: OAuth 2
  - Password
  - Token URL: `auth/token`

Finish an upgrade that was waiting for payment. Applies the new plan once
Stripe shows the upgrade invoice as paid; otherwise reports it's still due.

## Response `200`

Successful Response

- ChangeSubscriptionPlanResponse: Response after changing a subscription's plan in-place
  - `status` string, required
  - `effective_at` string, date-time, nullable
  - `payment_plan_id` string, uuid, required
  - `checkout_url` string, nullable
  - `invoice_id` string, nullable
  - `amount_paid` integer, nullable
  - `amount_due` integer, nullable
  - `currency` string, nullable
  - `hosted_invoice_url` string, nullable
  - `message` string, nullable

---

[API](https://skmtc.dev/threadchain/apis/threadchain-backend.md) - [All operations](https://skmtc.dev/threadchain/apis/threadchain-backend/llms.txt) - [OpenAPI document](https://skmtc.dev/threadchain/apis/threadchain-backend/revisions/8ee288a7e6bd?raw)
