Overview of methods
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
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.

