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

# Change plan

`POST /payments/change-plan`

## Request

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

Changes the subscription plan (upgrade or downgrade). Uses proration without refund. Plan change is applied immediately. Requires JWT.

## Request body

- PaymentsChangePlanDto
  - `plan_id` '858335' | '921925' | '851087' | '921926' | '884404' | '921928' | '921929' | '921930' | '921931' | '921932' | '921933' | '855460', required: Paddle plan ID (e.g. 858335 for 9€, 921925 for 19€)

## Response `200`

Updated payment/subscription

- PaymentsChangePlanOutputDto
  - `id` string, required
  - `fk_user_id` string, required
  - `cancellation_effective_date` object, nullable, required
  - `subscription_id` string, required
  - `cancel_url` string, required
  - `update_url` string, required
  - `created_at` string, date-time, required
  - `paddle_user_id` string, required
  - `plan` string, required
  - `interval` 'monthly' | 'yearly' | 'lifetime', required
  - `paused_at` object, nullable, required

---

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