Skip to main content
POST
Early return a subscription

Overview

Process an early return when a customer wants to end their subscription before the contract end date. The customer returns the device and may pay an early termination fee based on your policies.

When to Use Early Returns

Early Return vs Buyout

Request Fields

Example: Standard Early Return

Example: Waived Fee (Customer Goodwill)

What Happens

When you process an early return:
  1. Subscription status changes to ended_early_return
  2. Early return details recorded with fee and reason
  3. Future payments cancelled
  4. Asset marked for return processing
  5. Final invoice generated for early return fee (if applicable)

Response Structure

Calculate Before Processing

Always calculate the fee first using Calculate Early Return Fee:

Early Return Fee Policies

Common approaches for calculating early return fees:

1. Remaining Contract Value

2. Percentage of Remaining

3. Fixed Early Exit Fee

4. Sliding Scale

Completing the Early Return

After processing:
  1. Schedule return pickup or provide return instructions
  2. Receive device from customer
  3. Inspect device for damage
  4. Update asset status (available or needs repair)
  5. Process fee payment if applicable

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
returnCondition
enum<string>
required
Available options:
excellent,
good,
fair,
poor,
damaged
reason
string
required
Minimum string length: 1
earlyReturnFee
number
Required range: x >= 0
damageAssessment
string
notes
string

Response

Early return completed

success
boolean
required
rentalId
string
required
assetSerialNumber
string
required
earlyReturnFee
number
required
Required range: x >= 0
currency
string
required
actualMonthsRented
integer
required
Required range: 0 <= x <= 120
returnDate
string
required
message
string
required