Update a Subscription Plan
Update a plan name, description, active status, or country availability. Amount and interval cannot be changed.
PATCH /subscription/plan/{id} updates the mutable fields on an existing plan. You can rename it, update its description, toggle its active status to stop accepting new subscribers, or adjust the countries where it is available — all without affecting existing subscribers.
amount, interval, intervalCount, and currency are immutable and cannot be changed via this endpoint. To change pricing or billing cadence, create a new plan using POST /subscription/plan and migrate subscribers using change-plan.availableCountries is a full replacement, not a merge).
Returns 200 OK with the full updated plan object.
Errors
Authorizations
Your secret API key: Bearer prv_production_xxx (production) or Bearer prv_sandbox_xxx (sandbox).
Path Parameters
Body
Your merchant account identifier.
New plan name.
New description.
Set false to stop the plan accepting new subscribers. amount and interval cannot be changed - create a new plan and use change-plan instead.
Replacement list of ISO 3166-1 alpha-2 codes. Send [] to make the plan global.
Response
Updated plan
A reusable billing plan. amount is a flat integer in the currency minor units (with separate currency + exponent) - not an Amount object.
The plan unique integer ID.
The merchant account that owns the plan.
Billing interval unit. Immutable after creation.
day, week, month, year Number of interval units between charges - month + 3 bills quarterly.
Recurring charge in the currency minor units (e.g. 2999 = $29.99 at exponent 2). Immutable after creation.
ISO 4217 currency code. Immutable after creation.
Decimal places for amount / introAmount - 2 for USD, 0 for JPY.
Free-trial length in days before the first charge. 0 for no trial.
Introductory charge in minor units for the first introBillingCycles cycles, if set.
How many initial cycles are billed at introAmount before the rate reverts to amount.
Total cycles after which the subscription auto-completes. 0 = open-ended.
ISO 3166-1 alpha-2 codes the plan is offered in. Empty = available everywhere.
Whether the plan accepts new subscribers. Existing subscriptions are unaffected when this is false.

