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

# Change Plan

`POST /api/billing/change-plan`

## Request

- Base URL: `https://kernelscan.io`
- URL: `https://kernelscan.io/api/billing/change-plan`
- Auth: none declared

Open Stripe's hosted plan-change flow for an active subscription.

This route changes nothing itself. Stripe's portal shows the exact price,
tax and proration before confirmation, then the normal subscription webhook
applies the resulting tier. It is management of an existing contract and
therefore remains available when the new-sales switch is off.

## Response `200`

Successful Response

- object

---

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