Extend a subscription
Subscriptions
Extend Subscription
Extends the subscription contract length.
POST
Extend a subscription
Overview
Extend an active subscription’s contract period. Extensions allow customers to keep their device longer than the original contract term, typically at a reduced monthly rate.When to Use Extensions
Extension Benefits
- For customers: Keep familiar device at lower monthly cost
- For operators: Continue earning revenue on fully depreciated assets
- For both: No logistics costs (no return/ship new device)
Request Fields
| Field | Required | Description |
|---|---|---|
extensionMonths | Yes | Number of months to extend |
newMonthlyAmount | No | New monthly price (default: current price) |
reason | No | Reason for extension |
Basic Example
Example with Price Adjustment
What Happens
When you extend a subscription:- End date pushed forward by extension months
- Contract length updated to reflect total duration
- Monthly amount updated (if new price provided)
- Extension history logged with details
- Future payments scheduled at new rate
Pricing Strategy for Extensions
Extension History
After extending, the subscription tracks extension history:Common Extension Periods
| Period | Typical Use |
|---|---|
| 3 months | Short-term bridge while waiting for upgrade |
| 6 months | Standard renewal for satisfied customers |
| 12 months | Full year renewal with loyalty discount |
| 24 months | Long-term commitment with best pricing |
Error Handling
| Error Code | Cause | Solution |
|---|---|---|
SUBSCRIPTION_NOT_ACTIVE | Subscription is not active | Can only extend active subscriptions |
INVALID_EXTENSION_MONTHS | Extension months must be positive | Use positive integer |
Related Endpoints
- Get Subscription - Check current subscription details
- Upgrade Subscription - Upgrade to different device
- Buyout Subscription - Convert to purchase
- List Subscriptions - Find subscriptions to extend
Authorizations
API key obtained from FlexPortal dashboard
Headers
Your tenant identifier
Path Parameters
The subscription ID
Body
application/json
Response
Extension completed
Available options:
true Required range:
0 <= x <= 120Required range:
1 < x <= 120Required range:
1 < x <= 120