Overview of methods
| Method | Best for | Pros | Cons |
|---|---|---|---|
| Update full subscription | Simple bulk updates with no pro-rata invoicing | Versioning, no transition invoice, keeps billing cycle | — |
| Create a subscription transition | Full control with versioning and billing options | Version history, flexible configuration | Advanced setup |
| Incremental update (deprecated) | Legacy use cases | Simple | No versioning, not future-proof |
Update full subscription
Recommended for most bulk update scenarios. ThePUT /v2/subscriptions/:id endpoint performs an immediate transition while keeping the billing cycle and waiving the transition invoice. This means no pro-rata invoice is generated.
Example 💡
You want to add a new “Support” product to all active subscriptions. Using this method, the product is added immediately without generating pro-rata charges, and customers continue on their existing billing cycle.
How it works
- Fetch the subscription using
GET /v2/subscriptions/:idto get its current configuration - Add the new product to the subscription phases
- Call
PUT /v2/subscriptions/:idwith the full updated subscription payload
GET /v2/subscriptions/:id, allowing you to retrieve a subscription, modify it, and update it using the same structure.
When to use
- Adding a product to multiple subscriptions without pro-rata billing
- Making simple configuration changes across subscriptions
- When you want version history with minimal configuration
Create a subscription transition
Use the transition endpoint when you need full control over the update process, including billing options.Option A: Pass the full subscription configuration
CallPOST /v2/subscriptions/transitions with the source subscription and target subscription configuration including the new product.
Option B: Transition to an updated template/plan
If the subscription was created from a template or plan and has not been customized since, and you’ve already updated that template/plan with the new product, you can transition the subscription to use the updated template.Example 💡
You have 100 customers on the “Pro Plan” template. You add a new “Analytics” product to the Pro Plan template. Instead of specifying the full subscription configuration for each customer, you transition each subscription to the updated Pro Plan template.
Transition options
| Parameter | Description |
|---|---|
application_schedule | When to apply: immediately or scheduled (with transition_date) |
billing_cycle_transition_method | keep_current_billing_cycle to keep current billing dates, align_to_new_billing_cycle to reset |
calculation_method | do_not_charge to skip transition invoice, pro_rata to generate pro-rata invoice |
Incremental update (deprecated)
This endpoint allows updating multiple aspects of a subscription in a single call but does not maintain version history.Scripting bulk updates
To update multiple subscriptions, write a script that:- Lists all target subscriptions using
GET /v2/subscriptionswith appropriate filters - For each subscription, applies the update using your chosen method
- Handles errors and retries as needed
Is something still unclear? Don’t hesitate to reach out to our team via the in-app chat if you need additional support.

