Skip to main content
POST
Upgrade a subscription

Overview

Upgrade a customer to a different (typically better) device. This ends the current subscription and creates a new order for the upgraded product. The customer returns their current device and receives a new one.

When to Use Upgrades

Upgrade Flow

Request Fields

Example Request

What Happens

When you process an upgrade:
  1. Current subscription marked as ending (status changes on return)
  2. Upgrade order created with type upgrade
  3. Order linked to original subscription for tracking
  4. Pricing calculated based on new variant’s rates
  5. Return scheduled for current device

Response Structure

Upgrade Pricing Considerations

Consider these factors when setting upgrade prices:
  • Remaining value on current device
  • New device acquisition cost
  • Market rates for the new device
  • Customer loyalty and history

Completing the Upgrade

After calling upgrade:
  1. Process the return of the current device
  2. Create subscription on the upgrade order (like any new order)
  3. Ship the new device to customer

Error Handling

Authorizations

Authorization
string
header
required

API key obtained from FlexPortal dashboard

Headers

Tenant-ID
string
required

Your tenant identifier

Path Parameters

subscriptionId
string
required

The subscription ID

Body

application/json
rentalId
string
required
Minimum string length: 1
newSku
string
required
Minimum string length: 1
newSerialNumber
string
required
Minimum string length: 1
contractLength
integer
required
Required range: 1 < x <= 120
newMonthlyAmount
number
required
Required range: x >= 0
reason
string
required
Minimum string length: 1
notes
string

Response

Upgrade completed

success
enum<boolean>
required
Available options:
true
message
string
required
oldRentalId
string
required
newRentalId
string
required
oldDevice
string
required
newDevice
string
required
newMonthlyAmount
number
required
Required range: x >= 0
currency
string
required