Skip to main content
GET
/
v1
/
subscriptions
List subscriptions
curl --request GET \
  --url https://api-eu.flexportal.io/v1/subscriptions \
  --header 'Authorization: Bearer <token>' \
  --header 'Tenant-ID: <tenant-id>'
{
  "rentals": [
    {
      "rentalId": "<string>",
      "tenantId": "<string>",
      "assetSerialNumber": "<string>",
      "customerId": "<string>",
      "sku": "<string>",
      "productName": "<string>",
      "monthlyAmount": 123,
      "currency": "<string>",
      "status": "active",
      "originalContractLength": 123,
      "contractLength": 123,
      "startDate": "<string>",
      "orderId": "<string>",
      "customerEmail": "<string>",
      "customerName": "<string>",
      "createdAt": "<string>",
      "updatedAt": "<string>",
      "createdBy": "<string>",
      "billingGroupId": "<string>",
      "endDate": "<string>",
      "nextBillingDate": "<string>",
      "lastModifiedDate": "<string>",
      "extensionHistory": [
        {
          "extensionMonths": 60,
          "oldContractLength": 60,
          "newContractLength": 60,
          "oldMonthlyAmount": 1,
          "newMonthlyAmount": 1,
          "extendedBy": {
            "userId": "<string>",
            "email": "<string>",
            "displayName": "<string>",
            "role": "<string>",
            "memberId": "<string>"
          },
          "oldEndDate": "<string>",
          "newEndDate": "<string>",
          "extendedAt": "<string>",
          "reason": "<string>",
          "notes": "<string>"
        }
      ],
      "actualMonthsRented": 123,
      "monthsSaved": 123,
      "deviceRrp": 123,
      "rrpCaptureDate": "<string>",
      "rrpSource": "custom_field",
      "replacementHistory": [
        {
          "oldSerialNumber": "<string>",
          "newSerialNumber": "<string>",
          "reason": "<string>",
          "replacedBy": {
            "userId": "<string>",
            "email": "<string>",
            "displayName": "<string>",
            "role": "<string>",
            "memberId": "<string>"
          },
          "replacedAt": "<string>",
          "damageAssessment": "<string>",
          "insuranceClaim": true,
          "notes": "<string>"
        }
      ],
      "buyoutDetails": {
        "buyoutPrice": 1,
        "calculationMethod": "auto_calculated",
        "reason": "customer_request",
        "processedBy": {
          "userId": "<string>",
          "email": "<string>",
          "displayName": "<string>",
          "role": "<string>",
          "memberId": "<string>"
        },
        "buyoutDate": "<string>",
        "calculationBreakdown": {
          "remainingMonths": 60,
          "remainingMonthsPayment": 1,
          "rrpPercentage": 123,
          "rrpAmount": 1,
          "flatFee": 1
        },
        "notes": "<string>"
      },
      "earlyReturnDetails": {
        "fee": 1,
        "feeWaived": true,
        "calculationMethod": "auto_calculated",
        "returnCondition": "excellent",
        "reason": "<string>",
        "processedBy": {
          "userId": "<string>",
          "email": "<string>",
          "displayName": "<string>",
          "role": "<string>",
          "memberId": "<string>"
        },
        "returnedAt": "<string>",
        "calculationBreakdown": {
          "method": "remaining_months",
          "remainingMonths": 60,
          "gracePeriodApplied": true,
          "daysFromStart": 1825
        },
        "damageAssessment": "<string>",
        "notes": "<string>"
      },
      "upgradeFromRentalId": "<string>",
      "customFields": {},
      "notes": "<string>"
    }
  ],
  "count": 123,
  "limit": 123,
  "hasMore": true,
  "nextCursor": "<string>"
}

Authorizations

Authorization
string
header
required

API key obtained from FlexPortal dashboard

Headers

Tenant-ID
string
required

Your tenant identifier

Query Parameters

limit
string

Items per page (default: 50, max: 100)

startAfter
string

Cursor for pagination

status
string

Filter by status (active, cancelled, ended_completed, ended_buyout, ended_upgrade, ended_early_return)

customerId
string

Filter by customer ID

orderId
string

Filter by order ID

serialNumber
string

Filter by asset serial number

Response

200 - application/json

List of subscriptions

rentals
object[]
required
count
number
required
limit
number
required
hasMore
boolean
required
nextCursor
string | null
required