---
title: Licenses
description: The licenses of the user.

---

# Licenses

The licenses of the user.


## [GET /licenses](/end-user-api/licenses#tag/licenses/GET/licenses)

List licenses

List all licenses.

Authentication: X-Api-Key + Bearer JWT

### Query parameters

- `customerId` (`array of string`, optional) — Filter by customer. May be the entity's internal UUID or an external reference identifier. Reference identifiers MUST be prefixed with `rid_` (e.g., `rid_crm-customer-12345`) so the API can distinguish them from internal UUIDs. The prefix is stripped before lookup.
- `type` (`array of LicenseType`, optional) — The type of license to filter by.
- `limit` (`integer`, optional, >= 1, <= 1000, default 100) — The maximum number of items to return.
- `cursor` (`string`, optional) — Opaque pagination token from a previous response's nextCursor.

### Responses

#### 200

A list of licenses.

Type: `object`

- `items` (`array of License`, required)
  - `activatedAt` (`string`, required, date, example 2024-01-15) — The date when the license was activated.
  - `assignedTo` (`object`, optional) — The entity that a license is assigned to, with the display information for it. A license is always assigned to a subscription.
    - `subscriptionDisplay` (`string`, optional, example +1 (555) 123-4567) — Display name for the subscription (typically the phone number)
    - `subscriptionId` (`string`, required, example c9a4d8d4-24c0-4164-ac8d-c77c4103b786) — The unique identifier for the subscription
    - `type` (`enum<string>`, required, one of SUBSCRIPTION) — The type of assignment
  - `cancelledAt` (`string`, optional, date, example 2024-06-30) — The date when the license was canceled (if applicable).
  - `customer` (`object`, required) — Customer information embedded in responses. Sensitive details require separate API calls with appropriate authorization.
    - `customerId` (`string`, required, example a1b2c3d4-e5f6-4a5b-8c9d-0e1f2a3b4c5d) — The unique identifier for the customer. Use it with the customer endpoints to fetch full details.
    - `name` (`string`, required, example John Doe) — The customer's display name — the company name for business customers or the person's full name for consumers.
  - `details` (`object`, optional) — Additional license details specific to certain license types.
    - `propertyName` (`any`, optional) — Any additional properties, passed through as given.
  - `licenseId` (`string`, required, example c9d0e1f2-a3b4-5678-9012-def012345678) — The unique identifier for the license.
  - `metadata` (`object with string keys`, optional) — A set of key-value pairs that can be attached to an object for storing additional information in a semi-structured format. Provided by API clients and returned as-is; the platform does not interpret the values.
    - `*` (`string`, optional)
  - `pausedAt` (`string`, optional, date, example 2024-03-01) — The date when the license was paused (if applicable).
  - `pendingProductOffering` (`object`, optional) — A product offering change (upgrade or downgrade) that has been requested but not yet applied. Present only while a change is scheduled; the current offering remains in `productOffering` until the scheduled date.
    - `product` (`object`, required) — Essential information about a product offering — what is being sold and at what price — without the full catalog details.
      - `group` (`object`, optional) — A product group organizes related product offerings.
        - `category` (`enum<string>`, required, one of PRODUCT_CATEGORY_SUBSCRIPTION_CELL, PRODUCT_CATEGORY_SUBSCRIPTION_DATA_SIM, PRODUCT_CATEGORY_SUBSCRIPTION_BROADBAND, PRODUCT_CATEGORY_SUBSCRIPTION_M2M, PRODUCT_CATEGORY_TRAVEL_ESIM, PRODUCT_CATEGORY_SUBSCRIPTION_CELL_FIXED, PRODUCT_CATEGORY_VANITY_NUMBER_FORWARD, PRODUCT_CATEGORY_VANITY_NUMBER_CELL, PRODUCT_CATEGORY_EXTRA_DATA, PRODUCT_CATEGORY_TRAVEL_ESIM_PACKAGE, PRODUCT_CATEGORY_ABROAD, PRODUCT_CATEGORY_ABROAD_EXTRA_DATA, PRODUCT_CATEGORY_DATA_PACKAGE_OUTSIDE_EU, PRODUCT_CATEGORY_NETWORK_EXTENSIONS, PRODUCT_CATEGORY_VANITY_NUMBER, PRODUCT_CATEGORY_EXTERNAL_PRODUCT, PRODUCT_CATEGORY_EXTERNAL_PRODUCT_ADDON, PRODUCT_CATEGORY_SIM_CARD, PRODUCT_CATEGORY_PBX_USER_LEVEL, PRODUCT_CATEGORY_PBX_NUMBER, PRODUCT_CATEGORY_PBX_MOBILE_NUMBER, PRODUCT_CATEGORY_PBX_LANDLINE_FORWARD, PRODUCT_CATEGORY_PBX_SOFTPHONE, PRODUCT_CATEGORY_PBX_STATISTICS, PRODUCT_CATEGORY_PBX_CALL_RECORDING, PRODUCT_CATEGORY_PBX_VOICEMAIL, PRODUCT_CATEGORY_PBX_QUEUE_MAX_WAITING_CALLERS, PRODUCT_CATEGORY_PBX_ROUTE_IVR, PRODUCT_CATEGORY_PBX_ROUTE_GROUP, PRODUCT_CATEGORY_PBX_ROUTE_QUEUE, PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_IVR, PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_GROUP, PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_QUEUE, PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_VOICEMAIL, PRODUCT_CATEGORY_SUBSCRIPTION_MEX_PARTNER, PRODUCT_CATEGORY_INTERNATIONAL_NUMBER, example PRODUCT_CATEGORY_SUBSCRIPTION_CELL) — A product category is a sub-type for grouping offerings of the same type. Typically, product offerings of the same type with the same category allow for switching between them. For upgrading and downgrading subscriptions and licenses, we recommend using their corresponding endpoints though. Categories are grouped by their product type: **SUBSCRIPTION categories:** - `PRODUCT_CATEGORY_SUBSCRIPTION_CELL` - Mobile cellular subscription - `PRODUCT_CATEGORY_SUBSCRIPTION_CELL_FIXED` - Cellular subscription at a fixed location - `PRODUCT_CATEGORY_SUBSCRIPTION_DATA_SIM` - Data-only SIM subscription - `PRODUCT_CATEGORY_SUBSCRIPTION_BROADBAND` - Broadband internet subscription - `PRODUCT_CATEGORY_SUBSCRIPTION_M2M` - Machine-to-machine IoT subscription - `PRODUCT_CATEGORY_TRAVEL_ESIM` - Travel eSIM subscription for international roaming - `PRODUCT_CATEGORY_VANITY_NUMBER_FORWARD` - Vanity number that forwards calls - `PRODUCT_CATEGORY_VANITY_NUMBER_CELL` - Vanity number on a cellular subscription **SUBSCRIPTION_ADDON categories:** - `PRODUCT_CATEGORY_EXTRA_DATA` - Additional data package addon - `PRODUCT_CATEGORY_TRAVEL_ESIM_PACKAGE` - Travel eSIM data package with country/region coverage - `PRODUCT_CATEGORY_ABROAD` - International roaming addon - `PRODUCT_CATEGORY_ABROAD_EXTRA_DATA` - Additional data package for roaming - `PRODUCT_CATEGORY_DATA_PACKAGE_OUTSIDE_EU` - Data package for use outside the EU - `PRODUCT_CATEGORY_NETWORK_EXTENSIONS` - Network feature addon - `PRODUCT_CATEGORY_VANITY_NUMBER` - Vanity number addon **EXTERNAL_PRODUCT categories:** - `PRODUCT_CATEGORY_EXTERNAL_PRODUCT` - External purchasable product - `PRODUCT_CATEGORY_EXTERNAL_PRODUCT_ADDON` - Addon for external product **SIM_CARD categories:** - `PRODUCT_CATEGORY_SIM_CARD` - Physical SIM or eSIM replacement for an existing subscription **LICENSE categories (PBX):** - `PRODUCT_CATEGORY_PBX_USER_LEVEL` - Level of a PBX user license - `PRODUCT_CATEGORY_PBX_NUMBER` - PBX phone number - `PRODUCT_CATEGORY_PBX_MOBILE_NUMBER` - PBX mobile number - `PRODUCT_CATEGORY_PBX_LANDLINE_FORWARD` - Forward from a landline number - `PRODUCT_CATEGORY_PBX_SOFTPHONE` - Softphone - `PRODUCT_CATEGORY_PBX_STATISTICS` - Call statistics - `PRODUCT_CATEGORY_PBX_CALL_RECORDING` - Call recording - `PRODUCT_CATEGORY_PBX_VOICEMAIL` - Voicemail - `PRODUCT_CATEGORY_PBX_QUEUE_MAX_WAITING_CALLERS` - Queue capacity - `PRODUCT_CATEGORY_PBX_ROUTE_IVR`, `PRODUCT_CATEGORY_PBX_ROUTE_GROUP`, `PRODUCT_CATEGORY_PBX_ROUTE_QUEUE` - Call routes - `PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_IVR`, `PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_GROUP`, `PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_QUEUE`, `PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_VOICEMAIL` - Call route features **Other categories:** - `PRODUCT_CATEGORY_SUBSCRIPTION_MEX_PARTNER`, `PRODUCT_CATEGORY_INTERNATIONAL_NUMBER` A caller must tolerate new values.
        - `description` (`string`, optional, example Bundled cell subscriptions with unlimited calls and SMS with ILD enabled.) — Description of the product group in the requested locale.
        - `internalDescription` (`string`, optional, example Core mobile offerings targeting consumer and business segments) — Internal description of the product group for operational use only.
        - `name` (`string`, required, example Mobile Plans) — Name of the product group in the requested locale.
        - `productOfferingGroupId` (`string`, required, example mobile-plans) — Unique identifier for the product group.
      - `imageUrl` (`string`, optional, uri, example https://cdn.example.com/images/mobile-basic.png) — URL to the image representing the product offering.
      - `name` (`string`, required, example Mobile Unlimited) — The customer-facing name of the product offering, suitable for display in checkout and account views.
      - `price` (`object`, required) — The cost of a product offering, as configured in the catalog. A price is either one-time or recurring, and the priceType field tells you which. Amounts are integers in the minor units of the currency. For example, 2999 is $29.99 when the currency is USD.
        - `billingCycle` (`object`, optional) — How often a recurring price is charged.
          - `interval` (`integer`, required, example 1) — The quantity of periods between charges. For example, a MONTHLY period with an interval of 1 bills each month, and an interval of 3 bills each three months.
          - `period` (`enum<string>`, required, one of MONTHLY) — The unit of time between charges. Currently only monthly billing is supported.
        - `bindingContract` (`object`, optional) — A commitment to keep the subscription for a fixed term, usually in exchange for a discount that runs for the length of the commitment.
          - `discount` (`object`, optional) — A recurring amount that comes off the price when you price the order. The amount applies to one billing period, the same as the price, and it is not a total. For example, a discount of 500 for 3 periods takes 500 off each of the first three periods, and 1500 in all.
            - `amountMinor` (`integer`, required, int64, example 500) — The amount that comes off each billing period, in minor currency units.
            - `duration` (`object`, optional) — How long the discount lasts. An `UPFRONT_PAYMENT` discount always gives a duration, and it covers the billing cycles that the customer pays for in advance. The other two sources omit the duration when the discount never stops. The discount then comes off every charge for as long as the price is in effect. For a one-time price that is the single charge. — A length of time, expressed as a count of some unit.
              - `unit` (`enum<string>`, required, one of MONTHS) — The unit of time being counted. Currently only months are supported.
              - `value` (`integer`, required, example 3) — How many of the unit the duration lasts.
            - `invoicingDescription` (`string`, optional, example Campaign discount) — What the brand calls this discount on an invoice. Omitted when the brand gave the discount no name of its own.
            - `source` (`enum<string>`, optional, one of STANDARD, BINDING_CONTRACT, UPFRONT_PAYMENT, example STANDARD) — What the customer must do to get the discount: - `STANDARD` is given to every customer who orders the offering. - `BINDING_CONTRACT` needs the customer to commit for the contract's length. - `UPFRONT_PAYMENT` needs the customer to pay for several billing periods at once.
          - `duration` (`object`, required) — A length of time, expressed as a count of some unit.
            - `unit` (`enum<string>`, required, one of MONTHS) — The unit of time being counted. Currently only months are supported.
            - `value` (`integer`, required, example 3) — How many of the unit the duration lasts.
        - `currency` (`string`, required, example USD) — The ISO 4217 currency code the price is expressed in (e.g., "USD").
        - `currencyOptionsMinor` (`object with string keys`, optional) — Per-currency price overrides keyed by three-letter ISO currency code (e.g. "USD", "SEK"). Each value is the cost in that currency, in minor currency units.
          - `*` (`integer`, optional, int64)
        - `customUpfrontPayment` (`object`, optional) — Billing cycles the customer pays for in advance when ordering, usually at a discount. Billing returns to the normal cycle once the prepaid cycles run out.
          - `billingCycles` (`integer`, required, example 3) — How many billing cycles are paid for upfront. This counts cycles, not months: three cycles of a price that bills quarterly covers nine months.
          - `discount` (`object`, optional) — A recurring amount that comes off the price when you price the order. The amount applies to one billing period, the same as the price, and it is not a total. For example, a discount of 500 for 3 periods takes 500 off each of the first three periods, and 1500 in all.
            - `amountMinor` (`integer`, required, int64, example 500) — The amount that comes off each billing period, in minor currency units.
            - `duration` (`object`, optional) — How long the discount lasts. An `UPFRONT_PAYMENT` discount always gives a duration, and it covers the billing cycles that the customer pays for in advance. The other two sources omit the duration when the discount never stops. The discount then comes off every charge for as long as the price is in effect. For a one-time price that is the single charge. — A length of time, expressed as a count of some unit.
              - `unit` (`enum<string>`, required, one of MONTHS) — The unit of time being counted. Currently only months are supported.
              - `value` (`integer`, required, example 3) — How many of the unit the duration lasts.
            - `invoicingDescription` (`string`, optional, example Campaign discount) — What the brand calls this discount on an invoice. Omitted when the brand gave the discount no name of its own.
            - `source` (`enum<string>`, optional, one of STANDARD, BINDING_CONTRACT, UPFRONT_PAYMENT, example STANDARD) — What the customer must do to get the discount: - `STANDARD` is given to every customer who orders the offering. - `BINDING_CONTRACT` needs the customer to commit for the contract's length. - `UPFRONT_PAYMENT` needs the customer to pay for several billing periods at once.
        - `includesTax` (`boolean`, optional, example false) — True when the configured price includes its tax. The tax is then a part of `netPriceMinor` rather than an amount on top of it.
        - `netPriceMinor` (`integer`, optional, int64, example 2999) — The configured price of the offering, in minor currency units. When `includesTax` is true, this amount is the total the customer pays, and the tax is a part of it.
        - `priceType` (`enum<string>`, required, one of ONE_TIME, RECURRING) — How the price is charged. - ONE_TIME: Charged once (e.g., a setup fee or hardware purchase). - RECURRING: Charged every billing cycle (e.g., a monthly subscription fee).
        - `standardDiscount` (`object`, optional) — A recurring amount that comes off the price when you price the order. The amount applies to one billing period, the same as the price, and it is not a total. For example, a discount of 500 for 3 periods takes 500 off each of the first three periods, and 1500 in all.
          - `amountMinor` (`integer`, required, int64, example 500) — The amount that comes off each billing period, in minor currency units.
          - `duration` (`object`, optional) — How long the discount lasts. An `UPFRONT_PAYMENT` discount always gives a duration, and it covers the billing cycles that the customer pays for in advance. The other two sources omit the duration when the discount never stops. The discount then comes off every charge for as long as the price is in effect. For a one-time price that is the single charge. — A length of time, expressed as a count of some unit.
            - `unit` (`enum<string>`, required, one of MONTHS) — The unit of time being counted. Currently only months are supported.
            - `value` (`integer`, required, example 3) — How many of the unit the duration lasts.
          - `invoicingDescription` (`string`, optional, example Campaign discount) — What the brand calls this discount on an invoice. Omitted when the brand gave the discount no name of its own.
          - `source` (`enum<string>`, optional, one of STANDARD, BINDING_CONTRACT, UPFRONT_PAYMENT, example STANDARD) — What the customer must do to get the discount: - `STANDARD` is given to every customer who orders the offering. - `BINDING_CONTRACT` needs the customer to commit for the contract's length. - `UPFRONT_PAYMENT` needs the customer to pay for several billing periods at once.
      - `productOfferingId` (`string`, required, example f47ac10b-58cc-4372-a567-0e02b2c3d479) — The unique identifier for the product offering. Use it with the product offering endpoints to fetch full details.
    - `scheduledAt` (`string`, required, date, example 2024-02-01) — The date when the pending product offering change is scheduled to occur.
  - `pendingStatus` (`object`, optional) — A status change that has been requested but not yet applied, for example a scheduled cancellation. Present only while a status change is scheduled.
    - `scheduledAt` (`string`, required, date, example 2024-02-01) — The date when the pending status change is scheduled to occur.
    - `status` (`enum<string>`, required, one of PENDING, ACTIVE, PAUSED, CANCELLED, BLOCKED) — Current stage of the license lifecycle. - PENDING: Created but not yet activated - ACTIVE: Active and billable; the licensed feature is available - PAUSED: Temporarily stopped; the licensed feature is disabled - CANCELLED: Permanently terminated - BLOCKED: Disabled by the operator, typically for policy or payment reasons
  - `productOffering` (`object`, required) — Essential information about a product offering — what is being sold and at what price — without the full catalog details.
    - `group` (`object`, optional) — A product group organizes related product offerings.
      - `category` (`enum<string>`, required, one of PRODUCT_CATEGORY_SUBSCRIPTION_CELL, PRODUCT_CATEGORY_SUBSCRIPTION_DATA_SIM, PRODUCT_CATEGORY_SUBSCRIPTION_BROADBAND, PRODUCT_CATEGORY_SUBSCRIPTION_M2M, PRODUCT_CATEGORY_TRAVEL_ESIM, PRODUCT_CATEGORY_SUBSCRIPTION_CELL_FIXED, PRODUCT_CATEGORY_VANITY_NUMBER_FORWARD, PRODUCT_CATEGORY_VANITY_NUMBER_CELL, PRODUCT_CATEGORY_EXTRA_DATA, PRODUCT_CATEGORY_TRAVEL_ESIM_PACKAGE, PRODUCT_CATEGORY_ABROAD, PRODUCT_CATEGORY_ABROAD_EXTRA_DATA, PRODUCT_CATEGORY_DATA_PACKAGE_OUTSIDE_EU, PRODUCT_CATEGORY_NETWORK_EXTENSIONS, PRODUCT_CATEGORY_VANITY_NUMBER, PRODUCT_CATEGORY_EXTERNAL_PRODUCT, PRODUCT_CATEGORY_EXTERNAL_PRODUCT_ADDON, PRODUCT_CATEGORY_SIM_CARD, PRODUCT_CATEGORY_PBX_USER_LEVEL, PRODUCT_CATEGORY_PBX_NUMBER, PRODUCT_CATEGORY_PBX_MOBILE_NUMBER, PRODUCT_CATEGORY_PBX_LANDLINE_FORWARD, PRODUCT_CATEGORY_PBX_SOFTPHONE, PRODUCT_CATEGORY_PBX_STATISTICS, PRODUCT_CATEGORY_PBX_CALL_RECORDING, PRODUCT_CATEGORY_PBX_VOICEMAIL, PRODUCT_CATEGORY_PBX_QUEUE_MAX_WAITING_CALLERS, PRODUCT_CATEGORY_PBX_ROUTE_IVR, PRODUCT_CATEGORY_PBX_ROUTE_GROUP, PRODUCT_CATEGORY_PBX_ROUTE_QUEUE, PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_IVR, PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_GROUP, PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_QUEUE, PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_VOICEMAIL, PRODUCT_CATEGORY_SUBSCRIPTION_MEX_PARTNER, PRODUCT_CATEGORY_INTERNATIONAL_NUMBER, example PRODUCT_CATEGORY_SUBSCRIPTION_CELL) — A product category is a sub-type for grouping offerings of the same type. Typically, product offerings of the same type with the same category allow for switching between them. For upgrading and downgrading subscriptions and licenses, we recommend using their corresponding endpoints though. Categories are grouped by their product type: **SUBSCRIPTION categories:** - `PRODUCT_CATEGORY_SUBSCRIPTION_CELL` - Mobile cellular subscription - `PRODUCT_CATEGORY_SUBSCRIPTION_CELL_FIXED` - Cellular subscription at a fixed location - `PRODUCT_CATEGORY_SUBSCRIPTION_DATA_SIM` - Data-only SIM subscription - `PRODUCT_CATEGORY_SUBSCRIPTION_BROADBAND` - Broadband internet subscription - `PRODUCT_CATEGORY_SUBSCRIPTION_M2M` - Machine-to-machine IoT subscription - `PRODUCT_CATEGORY_TRAVEL_ESIM` - Travel eSIM subscription for international roaming - `PRODUCT_CATEGORY_VANITY_NUMBER_FORWARD` - Vanity number that forwards calls - `PRODUCT_CATEGORY_VANITY_NUMBER_CELL` - Vanity number on a cellular subscription **SUBSCRIPTION_ADDON categories:** - `PRODUCT_CATEGORY_EXTRA_DATA` - Additional data package addon - `PRODUCT_CATEGORY_TRAVEL_ESIM_PACKAGE` - Travel eSIM data package with country/region coverage - `PRODUCT_CATEGORY_ABROAD` - International roaming addon - `PRODUCT_CATEGORY_ABROAD_EXTRA_DATA` - Additional data package for roaming - `PRODUCT_CATEGORY_DATA_PACKAGE_OUTSIDE_EU` - Data package for use outside the EU - `PRODUCT_CATEGORY_NETWORK_EXTENSIONS` - Network feature addon - `PRODUCT_CATEGORY_VANITY_NUMBER` - Vanity number addon **EXTERNAL_PRODUCT categories:** - `PRODUCT_CATEGORY_EXTERNAL_PRODUCT` - External purchasable product - `PRODUCT_CATEGORY_EXTERNAL_PRODUCT_ADDON` - Addon for external product **SIM_CARD categories:** - `PRODUCT_CATEGORY_SIM_CARD` - Physical SIM or eSIM replacement for an existing subscription **LICENSE categories (PBX):** - `PRODUCT_CATEGORY_PBX_USER_LEVEL` - Level of a PBX user license - `PRODUCT_CATEGORY_PBX_NUMBER` - PBX phone number - `PRODUCT_CATEGORY_PBX_MOBILE_NUMBER` - PBX mobile number - `PRODUCT_CATEGORY_PBX_LANDLINE_FORWARD` - Forward from a landline number - `PRODUCT_CATEGORY_PBX_SOFTPHONE` - Softphone - `PRODUCT_CATEGORY_PBX_STATISTICS` - Call statistics - `PRODUCT_CATEGORY_PBX_CALL_RECORDING` - Call recording - `PRODUCT_CATEGORY_PBX_VOICEMAIL` - Voicemail - `PRODUCT_CATEGORY_PBX_QUEUE_MAX_WAITING_CALLERS` - Queue capacity - `PRODUCT_CATEGORY_PBX_ROUTE_IVR`, `PRODUCT_CATEGORY_PBX_ROUTE_GROUP`, `PRODUCT_CATEGORY_PBX_ROUTE_QUEUE` - Call routes - `PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_IVR`, `PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_GROUP`, `PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_QUEUE`, `PRODUCT_CATEGORY_PBX_ROUTE_FEATURE_VOICEMAIL` - Call route features **Other categories:** - `PRODUCT_CATEGORY_SUBSCRIPTION_MEX_PARTNER`, `PRODUCT_CATEGORY_INTERNATIONAL_NUMBER` A caller must tolerate new values.
      - `description` (`string`, optional, example Bundled cell subscriptions with unlimited calls and SMS with ILD enabled.) — Description of the product group in the requested locale.
      - `internalDescription` (`string`, optional, example Core mobile offerings targeting consumer and business segments) — Internal description of the product group for operational use only.
      - `name` (`string`, required, example Mobile Plans) — Name of the product group in the requested locale.
      - `productOfferingGroupId` (`string`, required, example mobile-plans) — Unique identifier for the product group.
    - `imageUrl` (`string`, optional, uri, example https://cdn.example.com/images/mobile-basic.png) — URL to the image representing the product offering.
    - `name` (`string`, required, example Mobile Unlimited) — The customer-facing name of the product offering, suitable for display in checkout and account views.
    - `price` (`object`, required) — The cost of a product offering, as configured in the catalog. A price is either one-time or recurring, and the priceType field tells you which. Amounts are integers in the minor units of the currency. For example, 2999 is $29.99 when the currency is USD.
      - `billingCycle` (`object`, optional) — How often a recurring price is charged.
        - `interval` (`integer`, required, example 1) — The quantity of periods between charges. For example, a MONTHLY period with an interval of 1 bills each month, and an interval of 3 bills each three months.
        - `period` (`enum<string>`, required, one of MONTHLY) — The unit of time between charges. Currently only monthly billing is supported.
      - `bindingContract` (`object`, optional) — A commitment to keep the subscription for a fixed term, usually in exchange for a discount that runs for the length of the commitment.
        - `discount` (`object`, optional) — A recurring amount that comes off the price when you price the order. The amount applies to one billing period, the same as the price, and it is not a total. For example, a discount of 500 for 3 periods takes 500 off each of the first three periods, and 1500 in all.
          - `amountMinor` (`integer`, required, int64, example 500) — The amount that comes off each billing period, in minor currency units.
          - `duration` (`object`, optional) — How long the discount lasts. An `UPFRONT_PAYMENT` discount always gives a duration, and it covers the billing cycles that the customer pays for in advance. The other two sources omit the duration when the discount never stops. The discount then comes off every charge for as long as the price is in effect. For a one-time price that is the single charge. — A length of time, expressed as a count of some unit.
            - `unit` (`enum<string>`, required, one of MONTHS) — The unit of time being counted. Currently only months are supported.
            - `value` (`integer`, required, example 3) — How many of the unit the duration lasts.
          - `invoicingDescription` (`string`, optional, example Campaign discount) — What the brand calls this discount on an invoice. Omitted when the brand gave the discount no name of its own.
          - `source` (`enum<string>`, optional, one of STANDARD, BINDING_CONTRACT, UPFRONT_PAYMENT, example STANDARD) — What the customer must do to get the discount: - `STANDARD` is given to every customer who orders the offering. - `BINDING_CONTRACT` needs the customer to commit for the contract's length. - `UPFRONT_PAYMENT` needs the customer to pay for several billing periods at once.
        - `duration` (`object`, required) — A length of time, expressed as a count of some unit.
          - `unit` (`enum<string>`, required, one of MONTHS) — The unit of time being counted. Currently only months are supported.
          - `value` (`integer`, required, example 3) — How many of the unit the duration lasts.
      - `currency` (`string`, required, example USD) — The ISO 4217 currency code the price is expressed in (e.g., "USD").
      - `currencyOptionsMinor` (`object with string keys`, optional) — Per-currency price overrides keyed by three-letter ISO currency code (e.g. "USD", "SEK"). Each value is the cost in that currency, in minor currency units.
        - `*` (`integer`, optional, int64)
      - `customUpfrontPayment` (`object`, optional) — Billing cycles the customer pays for in advance when ordering, usually at a discount. Billing returns to the normal cycle once the prepaid cycles run out.
        - `billingCycles` (`integer`, required, example 3) — How many billing cycles are paid for upfront. This counts cycles, not months: three cycles of a price that bills quarterly covers nine months.
        - `discount` (`object`, optional) — A recurring amount that comes off the price when you price the order. The amount applies to one billing period, the same as the price, and it is not a total. For example, a discount of 500 for 3 periods takes 500 off each of the first three periods, and 1500 in all.
          - `amountMinor` (`integer`, required, int64, example 500) — The amount that comes off each billing period, in minor currency units.
          - `duration` (`object`, optional) — How long the discount lasts. An `UPFRONT_PAYMENT` discount always gives a duration, and it covers the billing cycles that the customer pays for in advance. The other two sources omit the duration when the discount never stops. The discount then comes off every charge for as long as the price is in effect. For a one-time price that is the single charge. — A length of time, expressed as a count of some unit.
            - `unit` (`enum<string>`, required, one of MONTHS) — The unit of time being counted. Currently only months are supported.
            - `value` (`integer`, required, example 3) — How many of the unit the duration lasts.
          - `invoicingDescription` (`string`, optional, example Campaign discount) — What the brand calls this discount on an invoice. Omitted when the brand gave the discount no name of its own.
          - `source` (`enum<string>`, optional, one of STANDARD, BINDING_CONTRACT, UPFRONT_PAYMENT, example STANDARD) — What the customer must do to get the discount: - `STANDARD` is given to every customer who orders the offering. - `BINDING_CONTRACT` needs the customer to commit for the contract's length. - `UPFRONT_PAYMENT` needs the customer to pay for several billing periods at once.
      - `includesTax` (`boolean`, optional, example false) — True when the configured price includes its tax. The tax is then a part of `netPriceMinor` rather than an amount on top of it.
      - `netPriceMinor` (`integer`, optional, int64, example 2999) — The configured price of the offering, in minor currency units. When `includesTax` is true, this amount is the total the customer pays, and the tax is a part of it.
      - `priceType` (`enum<string>`, required, one of ONE_TIME, RECURRING) — How the price is charged. - ONE_TIME: Charged once (e.g., a setup fee or hardware purchase). - RECURRING: Charged every billing cycle (e.g., a monthly subscription fee).
      - `standardDiscount` (`object`, optional) — A recurring amount that comes off the price when you price the order. The amount applies to one billing period, the same as the price, and it is not a total. For example, a discount of 500 for 3 periods takes 500 off each of the first three periods, and 1500 in all.
        - `amountMinor` (`integer`, required, int64, example 500) — The amount that comes off each billing period, in minor currency units.
        - `duration` (`object`, optional) — How long the discount lasts. An `UPFRONT_PAYMENT` discount always gives a duration, and it covers the billing cycles that the customer pays for in advance. The other two sources omit the duration when the discount never stops. The discount then comes off every charge for as long as the price is in effect. For a one-time price that is the single charge. — A length of time, expressed as a count of some unit.
          - `unit` (`enum<string>`, required, one of MONTHS) — The unit of time being counted. Currently only months are supported.
          - `value` (`integer`, required, example 3) — How many of the unit the duration lasts.
        - `invoicingDescription` (`string`, optional, example Campaign discount) — What the brand calls this discount on an invoice. Omitted when the brand gave the discount no name of its own.
        - `source` (`enum<string>`, optional, one of STANDARD, BINDING_CONTRACT, UPFRONT_PAYMENT, example STANDARD) — What the customer must do to get the discount: - `STANDARD` is given to every customer who orders the offering. - `BINDING_CONTRACT` needs the customer to commit for the contract's length. - `UPFRONT_PAYMENT` needs the customer to pay for several billing periods at once.
    - `productOfferingId` (`string`, required, example f47ac10b-58cc-4372-a567-0e02b2c3d479) — The unique identifier for the product offering. Use it with the product offering endpoints to fetch full details.
  - `status` (`enum<string>`, required, one of PENDING, ACTIVE, PAUSED, CANCELLED, BLOCKED) — Current stage of the license lifecycle. - PENDING: Created but not yet activated - ACTIVE: Active and billable; the licensed feature is available - PAUSED: Temporarily stopped; the licensed feature is disabled - CANCELLED: Permanently terminated - BLOCKED: Disabled by the operator, typically for policy or payment reasons
  - `type` (`string`, required, example PBX_USER_LEVEL) — The kind of feature the license unlocks. Most types cover business telephony (PBX) features, such as `PBX_USER_LEVEL` (a PBX seat for one user), `PBX_SOFTPHONE` (softphone client), `PBX_ROUTE_IVR`, `PBX_ROUTE_GROUP`, `PBX_ROUTE_QUEUE`, and `PBX_ROUTE_VOICEMAIL` (call routing features), plus `EXTERNAL_PRODUCT` for licenses tied to products outside the telecom platform.
- `pagination` (`object`, required) — Cursor-based pagination information returned by list endpoints. Pass `nextCursor` as the `cursor` query parameter of the next request to fetch the following page.
  - `nextCursor` (`string | null`, required, example eyJvZmZzZXQiOjEwMH0) — Opaque token for fetching the next page. Null when no more results.

#### 400

The request was malformed or invalid.

Type: [Error](/end-user-api/models.md#models/Error)

#### 401

Authentication is required to access this resource.

Type: [Error](/end-user-api/models.md#models/Error)

#### 403

Access to this resource is forbidden.

Type: [Error](/end-user-api/models.md#models/Error)

#### 404

The requested resource was not found.

Type: [Error](/end-user-api/models.md#models/Error)

#### 429

Too many requests have been sent in a given amount of time.

Type: [Error](/end-user-api/models.md#models/Error)

#### 500

An unexpected error occurred on the server.

Type: [Error](/end-user-api/models.md#models/Error)

### Example request

```bash
curl https://apiv2.example.com/api/v2/end-user/licenses \
  --header 'X-Api-Key: YOUR_API_KEY' \
  --header 'Authorization: Bearer YOUR_ACCESS_TOKEN'
```
