Overview
The upgrade/downgrade flow consists of three main steps:- Check eligibility - Get available change options for a subscription item
- Display options - Show the customer available upgrades/downgrades
- Apply change - Execute the selected package change
Prerequisites
Before implementing upgrades:- Create a Product Group with a tier for each package level
- Assign the product group to the subscription item via
PUT /subscription-items/{id}/product-group
Step 1: Get Change Options
Fetch available upgrade/downgrade options for a subscription item:Response
Response Fields
Step 2: Display Options to Customer
Use the response to build a selection UI:Step 3: Apply the Change
When the customer selects an option, apply the change:Request Parameters
Response
Change Timing Behavior
Immediately
The change takes effect right away:- Current subscription item is ended
- Credit note is created (based on
creditType) - New subscription item is created and starts immediately
- New invoice is generated
End of Period
The change is scheduled for the next billing cycle:- Current subscription item continues until period end
- At period end, item switches to new product/plan
- No credit note is created
- Next invoice uses new pricing
Credit Types
WhenchangeTiming is immediately, a credit is issued based on creditType:
Complete Example
Error Handling
Webhooks
Listen for these events to track changes:Related Documentation
Product Groups
Set up product groups
Subscription Transitions
Manual transitions
Webhooks
Listen for events