Skip to navigation

Upgrade or downgrade an existing subscription

Swaps the price on the organisation’s existing subscription, so a user can never end up paying for two plans at once. For an organisation with no subscription yet, use POST /api/v1/billing/checkout-session.

When the change takes effect depends on direction and cadence, and the response says which:

ChangeCadenceeffective
Upgrademonthlyimmediately, prorated
Upgradeyearlyimmediately, prorated
Downgrademonthlyat_period_end
Downgradeyearlyrefused

An at_period_end change means the caller keeps the current plan’s entitlements until the period ends — re-read GET /api/v1/billing/entitlements rather than assuming the new plan applies now.

Broker admins only, and refuses API-token auth.

Authentication

AuthorizationBearer

JWT access token obtained from POST /api/v1/auth/login, or a finput_sk_... API token

Request

This endpoint expects an object.
planenumRequired
Allowed values:

Response

Plan changed or scheduled.
planenumOptional
Allowed values:
cadenceenumOptional
Allowed values:
effectiveenumOptional
Allowed values:

Errors

400
Bad Request Error
403
Forbidden Error
404
Not Found Error
409
Conflict Error
502
Bad Gateway Error