---
title: "Change Plan"
method: POST
path: "/payments/change-plan"
tags: ["payments"]
---

# Change Plan

`POST /payments/change-plan`

## Request

- Base URL: `https://api.openproof.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.openproof.io/payments/change-plan`
- Auth: HTTP bearer

Switch plan. Creates the NEW subscription (starting when the paid term ends) and, for an upgrade, collects the
prorated difference in the same checkout. The webhook (subscription.authenticated) then switches the plan and stops
the old subscription; nothing changes on the account until the customer has authorised.

## Request body

- SubscribeBody
  - `plan_key` string
  - `partner_code` string, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

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