---
title: "Switch subscription to the current list price"
method: POST
path: "/premium/switch-to-list-price"
tags: ["Premium"]
---

# Switch subscription to the current list price

`POST /premium/switch-to-list-price`

Moves the authenticated user's grandfathered premium subscription down to the current list price for the same currency and billing cycle, effective at the end of the current billing period. The target price is resolved on the server and the switch is refused unless it lowers the amount charged.

## Response `200`

Success

- union
  - ScheduledSwitchToListPriceResponse
    - `effective_at` string, required — ISO timestamp the switch takes effect
    - `target_price_id` string, required — Stripe price ID the subscription will be billed against after the switch
    - `target_amount_minor` integer, required — Amount billed after the switch, in the currency minor unit
    - `current_amount_minor` integer, required — Amount billed before the switch, in the currency minor unit
    - `currency` 'USD' | 'EUR' | 'BRL' | 'DKK' | 'INR' | 'NOK' | 'PLN' | 'SEK' | 'TRY', required
    - `status` 'scheduled', required — The switch was scheduled for the end of the current billing period
  - AlreadyScheduledSwitchToListPriceResponse
    - `effective_at` string, required — ISO timestamp the switch takes effect
    - `target_price_id` string, required — Stripe price ID the subscription will be billed against after the switch
    - `target_amount_minor` integer, required — Amount billed after the switch, in the currency minor unit
    - `current_amount_minor` integer, required — Amount billed before the switch, in the currency minor unit
    - `currency` 'USD' | 'EUR' | 'BRL' | 'DKK' | 'INR' | 'NOK' | 'PLN' | 'SEK' | 'TRY', required
    - `status` 'already_scheduled', required — The switch was already scheduled by an earlier request
  - IneligibleSwitchToListPriceResponse
    - `status` 'ineligible', required — The subscription cannot be moved to the current list price
    - `reason` 'feature_unavailable' | 'no_active_subscription' | 'subscription_not_chargeable' | 'unsupported_subscription' | 'no_list_price' | 'already_on_list_price' | 'not_a_price_decrease' | 'subscription_cancelling' | 'cancellation_managed_by_schedule' | 'conflicting_pending_change' | 'missing_period_end' | 'switch_in_progress', required

## Other responses

- `400` — Bad Request - The request was malformed or contained invalid data
- `401` — Unauthorized - Authentication is required or the token is invalid
- `403` — Forbidden - You do not have permission to perform this action
- `429` — Too Many Requests - You are being rate limited
- `500` — Internal Server Error - An unexpected error occurred

## Changes

> 14 revisions in range; 1 not diffed.

- **2026-09-11** `b7b12069ba8d` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/fluxer/apis/fluxer-api/changes/premium/switch-to-list-price/post.md)

---

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