---
title: "Get subscription"
method: GET
path: "/v2/subscriptions/{id}"
tags: ["Subscriptions"]
---

# Get subscription

`GET /v2/subscriptions/{id}`

Retrieve the details of an existing subscription.

## Path parameters

- `id` string, required

## Query parameters

- `include_live_billing` string

## Response `200`

- object
  - `id` string, required — Subscription ID.
  - `name` string, nullable, required — Subscription custom name.
  - `currency` 'EUR' | 'AED' | 'AFN' | 'XCD' | 'ALL' | 'AMD' | 'AOA' | 'ARS' | 'USD' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'XOF' | 'BMD' | 'BND' | 'BOB' | 'BRL' | 'BSD' | 'BTN' | 'NOK' | 'BWP' | 'BYR' | 'BZD' | 'CAD' | 'CDF' | 'XAF' | 'CHF' | 'NZD' | 'CLP' | 'CNY' | 'COP' | 'CRC' | 'CUP' | 'CVE' | 'ANG' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'MAD' | 'ERN' | 'ETB' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRO' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MYR' | 'MZN' | 'NAD' | 'XPF' | 'NGN' | 'NIO' | 'NPR' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STD' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'UYU' | 'UZS' | 'VEF' | 'VND' | 'VUV' | 'WST' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL', required — Currency code. See [ISO 4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).
  - `status` 'active' | 'cancelled' | 'draft' | 'errored' | 'archived' | 'paused' | 'pending' | 'voided', required — Subscription status. - `draft`: The subscription is being created, this status is only used in the subscription assignation flow of the UI version of Hyperline. - `pending`: The subscription has been created and won't be charged until it is activated. - `active`: The subscription is running and will be invoiced at the next payment date. - `paused`: The subscription's payment collection is paused. - `cancelled`: The subscription has been canceled from an active state. - `voided`: The subscription has been voided directly from the pending state. - `archived`: The subscription is a previous version kept after an update. - `errored`: We attempted 4 times (3 retries) and failed to charge a subscription's invoice, see [Handling payment errors](https://docs.hyperline.co/docs/payments/payment-errors). We consider the subscription as inactive (as the customer failed to pay you) meaning that we won't invoice the customer in the future nor collect payment. You can choose to reactivate it manually.
  - `purchase_order` string, nullable, required — Reference to the purchase order.
  - `customer_id` string, required — ID of the customer.
  - `invoicing_entity_id` string, nullable, required — ID of the invoicing entity attached to the subscription. If not defined, fallback to customer's invoicing entity.
  - `plan_id` string, nullable, required — Deprecated field, please use `template_id`.
  - `template_id` string, nullable, required — ID of the template that the subscription is linked to.
  - `checkout_session_id` string, nullable, required — ID of the checkout session.
  - `crm_opportunity_id` string, nullable, required — ID of the related opportunity/deal in the connected CRM.
  - `minimum_invoice_fee` number, nullable, required — Minimum fee applied to each invoice outside of one time payments.
  - `commitment_interval` object, nullable, required — Deprecated field, please use `contract_terms`.
    - `period` 'days' | 'weeks' | 'months' | 'years', required
    - `count` number, required
  - `renew_automatically` boolean, required — Deprecated field, please use `contract_terms`.
  - `renew_for` object, nullable, required — Deprecated field, please use `contract_terms`.
    - `period` 'days' | 'weeks' | 'months' | 'years', required
    - `count` number, required
  - `activation_strategy` 'start_date' | 'manually' | 'checkout' | 'quote' | 'contract_start_date', nullable, required — Strategy used to activate the subscription. - `start_date`: The subscription will become active on the specified start date. If the start date is in the past, it will be activated immediately. - `manually`: The subscription requires activation through a manual action. - `checkout`: The subscription will be activated once the checkout is completed, but only if the start date is in the past. Otherwise, activation will occur later on the specified start date. - `quote`: The subscription will be activated depending on the configuration and the signature of the related quote.
  - `starts_at` string, date-time, nullable, required — Applies only if the activation strategy is `start_date`. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `contract_start` string, date-time, nullable, required — Deprecated field, please use `contract_terms`.
  - `contract_end` string, date-time, nullable, required — Deprecated field, please use `contract_terms`.
  - `initial_billing_at` string, date-time, nullable, required — Date when the subscription will start being billed. If not specified, it will correspond to the `starts_at` date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `paused_at` string, date-time, nullable, required — Date when the subscription was paused. Only applies to `paused` status. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `reactivate_at` string, date-time, nullable, required — Date when the subscription will be automatically reactivated. Must be a future date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `cancel_at` string, date-time, nullable, required — Subscription cancel date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `cancellation_strategy` 'refund_prorata' | 'refund_custom' | 'charge_prorata' | 'charge_custom' | 'end_of_period' | 'do_nothing', nullable, required — Strategy used to cancel the subscription. If not specified `do_nothing` is used. - `charge_prorata`: Will charge the customer the unpaid amount for the prorated period up to the end of the current period. - `charge_custom`: Will charge the customer a custom amount. - `refund_prorata`: Will refund to the customer the overpaid subscription amount using prorated calculations on the cancellation date. - `refund_custom`: Will refund to the customer a custom amount. - `end_of_period`: Will cancel the subscription at the end date of the current billing period. - `do_nothing`: Will only cease the subscription without any additional actions.
  - `cancellation_amount` number, nullable, required — Custom amount used when cancelling the subscription. Only applies to the `charge_custom` or the `refund_custom` cancellation strategy.
  - `cancellation_reason` string, nullable, required — Reason for the cancellation.
  - `cancellation_source` 'portal' | 'app' | 'api' | 'system', nullable, required — Origin of the cancellation. - `portal`: customer cancelled themselves from the hosted customer portal. - `app`: admin cancelled from the Hyperline dashboard. - `api`: cancelled programmatically through the public API. - `system`: cancelled by an automated internal process.
  - `estimated_arr` number, nullable, required — Estimated Annual Recurring Revenue generated by the subscription.
  - `contract_value` number, nullable, required — Contract value of the subscription. This value is overridable by the user.
  - `current_period_started_at` string, date-time, nullable, required — Start date of the current billing period. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `current_period_ends_at` string, date-time, nullable, required — End date of the current billing period. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `next_payment_at` string, date-time, nullable, required — Date on which the next subscription payment will occur. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `next_payment_amount` number, nullable, required — The amount of the next subscription payment. The system will generate an invoice to pay on the `next_payment_at`.
  - `renews_at` string, date-time, nullable, required — Next subscription commitment renewal date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `current_phase_id` string, nullable, required — ID of the current subscription phase.
  - `display_shipping_details` boolean, nullable, required — Indicates if the shipping details should be displayed on the subscription's invoices.
  - `properties` object, nullable, required — Key/value pairs to store any metadata useful in your context.
  - `custom_properties` object, nullable, required — A list of key value with the slug of the custom property as the key and the custom property value as value.
  - `invoice_schedule` 'period_start' | 'period_end', nullable, required — Defines when invoices are generated relative to the billing period. - `period_start`: Invoices are generated at the start of the billing period. - `period_end`: Invoices are generated at the end of the billing period.
  - `generate_document` boolean, required — Generate documents instead of invoices for the subscription.
  - `document_name` string, nullable, required — If `generate_document` is turned on, allows you to give a name to your document.
  - `add_tax_to_document` boolean, required — If `generate_document` is turned on, will add taxes to document.
  - `generate_draft_invoices` boolean, required — Generate draft invoices for the subscription. Each invoice will need to be reviewed and validated manually before being sent
  - `invoice_custom_note` string, nullable, required — Default custom note added to invoices generated by the subscription.
  - `created_at` string, date-time, required — Subscription creation date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `updated_at` string, date-time, required — Subscription last edition date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `products` union[], required — Products that make up the subscription.
    - union
      - SubscriptionProductFee
        - `id` string, required — Product ID.
        - `name` string, required — Product name. This will appear on the final invoices.
        - `description` string, nullable, required — Product description. This will appear on the final invoices.
        - `description_display_interval_dates` boolean, required — Indicates if the dates of the interval should be automatically added in the product description on the invoices.
        - `attached_at` string, date-time, nullable, required — Date on which the product has been attached to the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `detached_at` string, date-time, nullable, required — Date on which the product has been detached from the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `current_period_started_at` string, date-time, nullable, required — Date on which the current period started. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `current_period_ends_at` string, date-time, nullable, required — Date on which the current period will end. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `next_payment_at` string, date-time, nullable, required — Date on which the next subscription invoice will be generated. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `payment_interval` union, required — Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.
          - object
            - `period` 'once', required
          - object
            - `period` 'days' | 'weeks' | 'months' | 'years', required
            - `count` number, required
        - `payment_schedule` 'start' | 'end', nullable, required — Indicates if the product should be billed at the start or the end of the payment interval.
        - `type` 'flat_fee', required
        - `count` number, required — Number of product units.
        - `prices` PriceFee[], required — Price tiers of the product. If fixed amount, only one price is available.
          - `type` 'fee', required
          - `id` string — Price ID.
          - `amount` number, required — Monetary amount. Expressed in currency's smallest unit.
      - SubscriptionProductSeat
        - `id` string, required — Product ID.
        - `name` string, required — Product name. This will appear on the final invoices.
        - `description` string, nullable, required — Product description. This will appear on the final invoices.
        - `description_display_interval_dates` boolean, required — Indicates if the dates of the interval should be automatically added in the product description on the invoices.
        - `attached_at` string, date-time, nullable, required — Date on which the product has been attached to the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `detached_at` string, date-time, nullable, required — Date on which the product has been detached from the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `current_period_started_at` string, date-time, nullable, required — Date on which the current period started. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `current_period_ends_at` string, date-time, nullable, required — Date on which the current period will end. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `next_payment_at` string, date-time, nullable, required — Date on which the next subscription invoice will be generated. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `payment_interval` union, required — Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.
          - object
            - `period` 'once', required
          - object
            - `period` 'days' | 'weeks' | 'months' | 'years', required
            - `count` number, required
        - `payment_schedule` 'start' | 'end', nullable, required — Indicates if the product should be billed at the start or the end of the payment interval.
        - `type` 'seat', required
        - `unit_name` string, nullable, required — Name of the unit.
        - `count` number, required — Number of product units.
        - `prices` union[], required — Price tiers of the product. If fixed amount, only one price is available.
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
        - `min_committed_count` number, nullable — Minimum of units committed. If usage is less than this number, then this value will be used.
        - `min_amount` number, nullable — Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used.
        - `max_amount` number, nullable — Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used.
        - `charging_method` 'prorata' | 'pay_in_full' | 'do_not_charge', nullable — Charging method used for seat count updates within the current billing period. Only present for connected seat products. - `prorata`: The price will be calculated proportionally to the time elapsed since the last billing period. - `pay_in_full`: The price will be calculated for the entire billing period. - `do_not_charge`: The price will not be calculated.
        - `seat_invoicing_schedule` 'immediately' | 'next_invoice' | 'custom', nullable — Policy defining when seat count changes are invoiced. Only applies to connected seat products. - `immediately`: Seat changes are invoiced immediately. - `next_invoice`: Seat changes are invoiced at the next invoice. - `custom`: Seat changes are invoiced on a custom schedule.
      - SubscriptionProductDynamic
        - `id` string, required — Product ID.
        - `name` string, required — Product name. This will appear on the final invoices.
        - `description` string, nullable, required — Product description. This will appear on the final invoices.
        - `description_display_interval_dates` boolean, required — Indicates if the dates of the interval should be automatically added in the product description on the invoices.
        - `attached_at` string, date-time, nullable, required — Date on which the product has been attached to the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `detached_at` string, date-time, nullable, required — Date on which the product has been detached from the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `current_period_started_at` string, date-time, nullable, required — Date on which the current period started. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `current_period_ends_at` string, date-time, nullable, required — Date on which the current period will end. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `next_payment_at` string, date-time, nullable, required — Date on which the next subscription invoice will be generated. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `payment_interval` union, required — Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.
          - object
            - `period` 'once', required
          - object
            - `period` 'days' | 'weeks' | 'months' | 'years', required
            - `count` number, required
        - `payment_schedule` 'start' | 'end', nullable, required — Indicates if the product should be billed at the start or the end of the payment interval.
        - `type` 'dynamic', required
        - `unit_name` string, nullable, required — Name of the unit.
        - `min_committed_count` number, nullable, required — Minimum of units committed. If usage is less than this number, then this value will be used.
        - `min_amount` number, nullable, required — Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used.
        - `max_amount` number, nullable, required — Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used.
        - `metering_interval_type` 'subscription_commitment' | 'payment_interval' | 'full_database' | 'phase_duration' | 'custom', nullable, required — Indicates on which type of interval the usage should be aggregated. - `subscription_commitment`: For the usage contained within the subscription commitment period. - `payment_interval`: For the usage contained within the payment interval of the product. - `full_database`: For all the usage we ingested for this product, no matter the period. - `custom`: For the usage contained within a custom interval that starts with the phase and renews independently of the billing interval. Requires `metering_interval` to be set.
        - `metering_interval` object, nullable, required — Custom interval for usage aggregation. Required when `metering_interval_type` is `custom`. The interval starts at the phase start and renews on its own cycle (e.g. `{ period: 'months', count: 3 }` for quarterly metering with monthly billing).
          - `period` 'days' | 'weeks' | 'months' | 'years', required
          - `count` number, required
        - `bill_usage_difference` boolean, required — Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type.
        - `children_usage_aggregation` 'sum' | 'max', nullable, required — Controls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined. - `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed. - `sum`: The usage values of the parent and each direct child are added together (organization total). - `max`: Only the single highest-consuming member (parent or one direct child) is billed.
        - `metering_period_started_at` string, date, nullable, required — Start date of the current metering period. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `metering_period_ends_at` string, date, nullable, required — End date of the current metering period. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `prices` union[], required — Price tiers of the product. If fixed amount, only one price is available.
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
      - SubscriptionProductCredit
        - `id` string, required — Product ID.
        - `name` string, required — Product name. This will appear on the final invoices.
        - `description` string, nullable, required — Product description. This will appear on the final invoices.
        - `description_display_interval_dates` boolean, required — Indicates if the dates of the interval should be automatically added in the product description on the invoices.
        - `attached_at` string, date-time, nullable, required — Date on which the product has been attached to the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `detached_at` string, date-time, nullable, required — Date on which the product has been detached from the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `current_period_started_at` string, date-time, nullable, required — Date on which the current period started. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `current_period_ends_at` string, date-time, nullable, required — Date on which the current period will end. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `next_payment_at` string, date-time, nullable, required — Date on which the next subscription invoice will be generated. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `payment_interval` union, required — Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.
          - object
            - `period` 'once', required
          - object
            - `period` 'days' | 'weeks' | 'months' | 'years', required
            - `count` number, required
        - `payment_schedule` 'start' | 'end', nullable, required — Indicates if the product should be billed at the start or the end of the payment interval.
        - `type` 'credit', required
        - `unit_name` string, nullable, required — Name of the unit.
        - `count` number, required — Number of product units.
        - `prices` PriceFee[], required — Price tiers of the product. If fixed amount, only one price is available.
          - `type` 'fee', required
          - `id` string — Price ID.
          - `amount` number, required — Monetary amount. Expressed in currency's smallest unit.
        - `credits_expiration_in_days` number, nullable, required — Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire
        - `expire_credits_at_end_of_period` union — Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`
          - boolean
          - 'true' | 'false'
      - SubscriptionProductBundle
        - `id` string, required — Product ID.
        - `name` string, required — Product name. This will appear on the final invoices.
        - `description` string, nullable, required — Product description. This will appear on the final invoices.
        - `description_display_interval_dates` boolean, required — Indicates if the dates of the interval should be automatically added in the product description on the invoices.
        - `attached_at` string, date-time, nullable, required — Date on which the product has been attached to the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `detached_at` string, date-time, nullable, required — Date on which the product has been detached from the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `current_period_started_at` string, date-time, nullable, required — Date on which the current period started. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `current_period_ends_at` string, date-time, nullable, required — Date on which the current period will end. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `next_payment_at` string, date-time, nullable, required — Date on which the next subscription invoice will be generated. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
        - `payment_interval` union, required — Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.
          - object
            - `period` 'once', required
          - object
            - `period` 'days' | 'weeks' | 'months' | 'years', required
            - `count` number, required
        - `payment_schedule` 'start' | 'end', nullable, required — Indicates if the product should be billed at the start or the end of the payment interval.
        - `type` 'bundle', required
        - `count` number, required — Number of product units.
        - `display_mode` 'single_line' | 'ventilated', required — How bundle items are displayed on invoices
        - `prices` union[], required — Price tiers of the product. If fixed amount, only one price is available.
          - union
            - object
              - …
            - object
              - …
            - object
              - …
            - object
              - …
  - `integrations` object[], required — References to this subscription in external providers (billing, CRM, etc).
    - `entity_id` string, required — ID of the entity in the provider.
    - `provider_name` 'adyen' | 'stripe' | 'mollie' | 'gocardless' | 'airwallex' | 'salesforce' | 'hubspot' | 'attio' | 'xero' | 'pennylane' | 'zoho-books' | 'exact-online' | 'quickbooks' | 'netsuite' | 'anrok' | 'chargebee' | 'slack' | 'plain' | 'zendesk' | 'pylon' | 'intercom' | 'front' | 'claap' | 'grain', required — Provider name.
    - `provider_account_id` string, required — ID of the connected provider account.
  - `phases` object[], required — Phases of the subscription.
    - `id` string, required — Subscription phase ID.
    - `name` string, nullable, required — Name of the subscription phase.
    - `type` 'setup' | 'trial' | 'standard', required — Type of subscription phase. - `setup`: The phase represents a non-recurring service setup period, often used before the actual recurring subscription begins. - `trial`: The phase represents a non-recurring trial period, often used to allow users to opt out or experience a free test. - `standard`: The phase represents a standard recurring billing.
    - `status` 'pending' | 'active' | 'finished', required — Status of subscription phase. - `pending`: The phase is waiting to start (not started yet). - `active`: The phase is currently in progress. - `finished`: The phase has ended and is complete.
    - `order` number, required — Order in which the phase is executed within all subscription phases.
    - `activation_strategy` 'immediately' | 'manual' | 'start_date' | 'quote_signature' | 'checkout' | 'contract_start_date' | 'previous_phase_end', required — Activation strategy of subscription phase. - `immediately`: The phase starts as soon as the subscription is activated. - `manual`: The phase starts when a user manually activates it. - `start_date`: The phase starts on a specified date. - `quote_signature`: The phase starts when the subscription quote is signed. - `checkout`: The phase starts when the subscription checkout is completed. - `contract_start_date`: The phase starts on the start date of the related subscription contract. - `previous_phase_end`: The phase starts when the previous phase ends.
    - `end_strategy` 'manual' | 'end_date' | 'duration' | 'contract_end_date', required — End strategy of subscription phase. - `manual`: The phase ends when a user manually stops it. - `end_date`: The phase ends on a specified date. - `duration`: The phase ends after a specific relative duration. - `contract_end_date`: The phase ends on the end date of the related subscription contract.
    - `duration` object, nullable, required — Interval over which the subscription phase spans. Only applies to `duration` end strategy.
      - `period` 'days' | 'weeks' | 'months' | 'years', required
      - `count` number, required
    - `billing_date_setting` 'phase_start' | 'specific_date', required — Represents when the first billing date occurs. - `phase_start`: Aligns with the start of the phase. - `specific_date`: Occurs on a specified date.
    - `initial_billing_at` string, date-time, nullable, required — Date when the subscription phase will start being billed. Only applies to `specific_date` billing date setting. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
    - `starts_at` string, date-time, nullable, required — Actual start date of the phase. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
    - `ends_at` string, date-time, nullable, required — Actual end date of the phase. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
    - `billing_cycle_alignment` 'calendar_period' | 'anniversary', required — Alignment of product billing cycles. - `calendar_period`: The billing cycles of the products will be aligned on the calendar period, after the first period which will be invoiced taking into account the prorata of the first cycle compared to the product periodicity. - `anniversary`: The billing cycles of the products will be aligned on the anniversary of the phase initial billing date.
    - `do_not_invoice_phase` boolean, required — Indicates if the phase should be invoiced. If set to true, the phase will not generate any invoices.
    - `transition_calculation_method` 'prorata' | 'pay_in_full' | 'none', required — Calculation method used when transitioning from one phase to the next one. - `prorata`: The prorated amount between the two phases relative to the end date (the transition date) must be paid. - `pay_in_full`: The full amount for the phase billing period must be paid. - `none`: No amount will need to be paid, phase will simply transition from one to the next.
    - `transition_invoicing_schedule` 'immediately', required — Represents when the transition amount will be invoiced. - `immediately`: An invoice will be generated immediately with the corresponding amount.
    - `products` union[], required — Products comprising the subscription phase.
      - union
        - SubscriptionProductFee
          - `id` string, required — Product ID.
          - `name` string, required — Product name. This will appear on the final invoices.
          - `description` string, nullable, required — Product description. This will appear on the final invoices.
          - `description_display_interval_dates` boolean, required — Indicates if the dates of the interval should be automatically added in the product description on the invoices.
          - `attached_at` string, date-time, nullable, required — Date on which the product has been attached to the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `detached_at` string, date-time, nullable, required — Date on which the product has been detached from the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `current_period_started_at` string, date-time, nullable, required — Date on which the current period started. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `current_period_ends_at` string, date-time, nullable, required — Date on which the current period will end. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `next_payment_at` string, date-time, nullable, required — Date on which the next subscription invoice will be generated. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `payment_interval` union, required — Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.
            - object
              - …
            - object
              - …
          - `payment_schedule` 'start' | 'end', nullable, required — Indicates if the product should be billed at the start or the end of the payment interval.
          - `type` 'flat_fee', required
          - `count` number, required — Number of product units.
          - `prices` PriceFee[], required — Price tiers of the product. If fixed amount, only one price is available.
            - `type` 'fee', required
            - `id` string — Price ID.
            - `amount` number, required — Monetary amount. Expressed in currency's smallest unit.
        - SubscriptionProductSeat
          - `id` string, required — Product ID.
          - `name` string, required — Product name. This will appear on the final invoices.
          - `description` string, nullable, required — Product description. This will appear on the final invoices.
          - `description_display_interval_dates` boolean, required — Indicates if the dates of the interval should be automatically added in the product description on the invoices.
          - `attached_at` string, date-time, nullable, required — Date on which the product has been attached to the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `detached_at` string, date-time, nullable, required — Date on which the product has been detached from the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `current_period_started_at` string, date-time, nullable, required — Date on which the current period started. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `current_period_ends_at` string, date-time, nullable, required — Date on which the current period will end. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `next_payment_at` string, date-time, nullable, required — Date on which the next subscription invoice will be generated. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `payment_interval` union, required — Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.
            - object
              - …
            - object
              - …
          - `payment_schedule` 'start' | 'end', nullable, required — Indicates if the product should be billed at the start or the end of the payment interval.
          - `type` 'seat', required
          - `unit_name` string, nullable, required — Name of the unit.
          - `count` number, required — Number of product units.
          - `prices` union[], required — Price tiers of the product. If fixed amount, only one price is available.
            - union
              - …
          - `min_committed_count` number, nullable — Minimum of units committed. If usage is less than this number, then this value will be used.
          - `min_amount` number, nullable — Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used.
          - `max_amount` number, nullable — Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used.
          - `charging_method` 'prorata' | 'pay_in_full' | 'do_not_charge', nullable — Charging method used for seat count updates within the current billing period. Only present for connected seat products. - `prorata`: The price will be calculated proportionally to the time elapsed since the last billing period. - `pay_in_full`: The price will be calculated for the entire billing period. - `do_not_charge`: The price will not be calculated.
          - `seat_invoicing_schedule` 'immediately' | 'next_invoice' | 'custom', nullable — Policy defining when seat count changes are invoiced. Only applies to connected seat products. - `immediately`: Seat changes are invoiced immediately. - `next_invoice`: Seat changes are invoiced at the next invoice. - `custom`: Seat changes are invoiced on a custom schedule.
        - SubscriptionProductDynamic
          - `id` string, required — Product ID.
          - `name` string, required — Product name. This will appear on the final invoices.
          - `description` string, nullable, required — Product description. This will appear on the final invoices.
          - `description_display_interval_dates` boolean, required — Indicates if the dates of the interval should be automatically added in the product description on the invoices.
          - `attached_at` string, date-time, nullable, required — Date on which the product has been attached to the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `detached_at` string, date-time, nullable, required — Date on which the product has been detached from the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `current_period_started_at` string, date-time, nullable, required — Date on which the current period started. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `current_period_ends_at` string, date-time, nullable, required — Date on which the current period will end. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `next_payment_at` string, date-time, nullable, required — Date on which the next subscription invoice will be generated. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `payment_interval` union, required — Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.
            - object
              - …
            - object
              - …
          - `payment_schedule` 'start' | 'end', nullable, required — Indicates if the product should be billed at the start or the end of the payment interval.
          - `type` 'dynamic', required
          - `unit_name` string, nullable, required — Name of the unit.
          - `min_committed_count` number, nullable, required — Minimum of units committed. If usage is less than this number, then this value will be used.
          - `min_amount` number, nullable, required — Minimum amount billed. If the final computed amount from the usage for this product is less than this amount, then this value will be used.
          - `max_amount` number, nullable, required — Maximum amount billed. If the final computed amount from the usage for this product is greater than this amount, then this value will be used.
          - `metering_interval_type` 'subscription_commitment' | 'payment_interval' | 'full_database' | 'phase_duration' | 'custom', nullable, required — Indicates on which type of interval the usage should be aggregated. - `subscription_commitment`: For the usage contained within the subscription commitment period. - `payment_interval`: For the usage contained within the payment interval of the product. - `full_database`: For all the usage we ingested for this product, no matter the period. - `custom`: For the usage contained within a custom interval that starts with the phase and renews independently of the billing interval. Requires `metering_interval` to be set.
          - `metering_interval` object, nullable, required — Custom interval for usage aggregation. Required when `metering_interval_type` is `custom`. The interval starts at the phase start and renews on its own cycle (e.g. `{ period: 'months', count: 3 }` for quarterly metering with monthly billing).
            - `period` 'days' | 'weeks' | 'months' | 'years', required
            - `count` number, required
          - `bill_usage_difference` boolean, required — Only bill the usage difference comparing to the previous period (i.e. actual amount minus last invoice amount). Doesn't apply to `payment_interval` metering interval type.
          - `children_usage_aggregation` 'sum' | 'max', nullable, required — Controls whether a parent organization's metered usage is billed on the combined usage of the parent and its direct children, and how per-member values are combined. - `null`: Organization-based usage is disabled. Only the subscription customer's own usage is billed. - `sum`: The usage values of the parent and each direct child are added together (organization total). - `max`: Only the single highest-consuming member (parent or one direct child) is billed.
          - `metering_period_started_at` string, date, nullable, required — Start date of the current metering period. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `metering_period_ends_at` string, date, nullable, required — End date of the current metering period. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `prices` union[], required — Price tiers of the product. If fixed amount, only one price is available.
            - union
              - …
        - SubscriptionProductCredit
          - `id` string, required — Product ID.
          - `name` string, required — Product name. This will appear on the final invoices.
          - `description` string, nullable, required — Product description. This will appear on the final invoices.
          - `description_display_interval_dates` boolean, required — Indicates if the dates of the interval should be automatically added in the product description on the invoices.
          - `attached_at` string, date-time, nullable, required — Date on which the product has been attached to the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `detached_at` string, date-time, nullable, required — Date on which the product has been detached from the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `current_period_started_at` string, date-time, nullable, required — Date on which the current period started. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `current_period_ends_at` string, date-time, nullable, required — Date on which the current period will end. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `next_payment_at` string, date-time, nullable, required — Date on which the next subscription invoice will be generated. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `payment_interval` union, required — Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.
            - object
              - …
            - object
              - …
          - `payment_schedule` 'start' | 'end', nullable, required — Indicates if the product should be billed at the start or the end of the payment interval.
          - `type` 'credit', required
          - `unit_name` string, nullable, required — Name of the unit.
          - `count` number, required — Number of product units.
          - `prices` PriceFee[], required — Price tiers of the product. If fixed amount, only one price is available.
            - `type` 'fee', required
            - `id` string — Price ID.
            - `amount` number, required — Monetary amount. Expressed in currency's smallest unit.
          - `credits_expiration_in_days` number, nullable, required — Validity in days for credits that will be topped-up automatically. Once the period has passed, they'll expire
          - `expire_credits_at_end_of_period` union — Automatically set the expiration date to the end of the next period for each topup. Takes priority on `creditsExpirationInDays`
            - boolean
            - 'true' | 'false'
        - SubscriptionProductBundle
          - `id` string, required — Product ID.
          - `name` string, required — Product name. This will appear on the final invoices.
          - `description` string, nullable, required — Product description. This will appear on the final invoices.
          - `description_display_interval_dates` boolean, required — Indicates if the dates of the interval should be automatically added in the product description on the invoices.
          - `attached_at` string, date-time, nullable, required — Date on which the product has been attached to the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `detached_at` string, date-time, nullable, required — Date on which the product has been detached from the subscription. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `current_period_started_at` string, date-time, nullable, required — Date on which the current period started. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `current_period_ends_at` string, date-time, nullable, required — Date on which the current period will end. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `next_payment_at` string, date-time, nullable, required — Date on which the next subscription invoice will be generated. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          - `payment_interval` union, required — Interval on which the product is billed. This interval can be different between products and can differ from the subscription commitment interval.
            - object
              - …
            - object
              - …
          - `payment_schedule` 'start' | 'end', nullable, required — Indicates if the product should be billed at the start or the end of the payment interval.
          - `type` 'bundle', required
          - `count` number, required — Number of product units.
          - `display_mode` 'single_line' | 'ventilated', required — How bundle items are displayed on invoices
          - `prices` union[], required — Price tiers of the product. If fixed amount, only one price is available.
            - union
              - …
    - `created_at` string, date-time, required — Subscription phase creation date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
    - `updated_at` string, date-time, required — Subscription phase last edition date. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `quote` object, nullable, required
    - `id` string, required — ID of the quote from which the subscription was created.
    - `status` 'draft' | 'pending_approval' | 'changes_requested' | 'approved' | 'pending_signature' | 'voided' | 'signed', required — Status of the quote from which the subscription was created.
  - `plan` object, nullable, required
    - `id` string, required — Deprecated field, please use `template_id`.
    - `name` string, required — Name of the plan that the subscription is linked to.
  - `template` object, nullable, required
    - `id` string, required — ID of the template that the subscription is linked to.
    - `name` string, required — Name of the template that the subscription is linked to.
    - `configurationId` string, required — ID of the template configuration that the subscription is linked to.
  - `checkout_session` CheckoutSession, nullable, required — Checkout session of the subscription.
    - `id` string, required — Checkout session ID.
    - `status` 'opened' | 'completed' | 'cancelled' | 'errored', required — Checkout session current status.
    - `available_payment_methods` string[], required — Types of payment method available on the checkout session.
    - `redirect_url` string, uri, nullable, required — URL to which Hyperline redirects the user after the completion of the checkout.
    - `send_to` object, nullable, required
      - `email` string, email, required — Email address to which we'll automatically send a message with the checkout link.
      - `message` string, nullable, required — Custom message to include in the email send. If not provided, we will use a generic one.
    - `url` string, uri, required — URL of the hosted Hyperline checkout page. Only defined if the status is `opened`.
  - `payment_method_type` 'card' | 'apple_pay' | 'google_pay' | 'direct_debit' | 'direct_debit_ach' | 'direct_debit_bacs' | 'stripe_link' | 'transfer' | 'transfer_automated' | 'external', nullable, required — Payment method type used to pay the subscription.
  - `payment_method` union, required
    - object — Payment method details used to pay the subscription.
      - `id` string, required — Payment method ID.
      - `status` 'active' | 'pending' | 'expired' | 'errored', required — Payment method status. - `active`: The payment method is ready to be used. - `pending`: The payment method is pending activation or being validated.
      - `type` 'card' | 'apple_pay' | 'google_pay', required — Payment method type. - `card`: Credit or debit card - `apple_pay`: Apple Pay - `google_pay`: Google Pay - `direct_debit_sepa`: SEPA Direct Debit - `direct_debit_ach`: ACH Direct Debit - `direct_debit_bacs`: Bacs Direct Debit - `stripe_link`: Stripe Link
      - `last_4_digits` number, nullable, required — Last four digits of the card.
      - `expiration_date` string, nullable, required — Expiration date of the card using YYYY-MM format.
      - `brand` string, nullable, required — Brand of the card.
    - object — Payment method details used to pay the subscription.
      - `id` string, required — Payment method ID.
      - `status` 'errored', required — Payment method status. - `errored`: The payment method has failed and can no longer be used.
      - `error_type` 'authentication_required' | 'authorization_error' | 'insufficient_funds' | 'declined' | 'expired' | 'fraud' | 'invalid' | 'mandate_invalid' | 'not_supported' | 'unknown', required — Payment method error type. - `authentication_required`: The card was declined as the transaction requires authentication (e.g. 3-D Secure). The customer should go to their portal page and authenticate their card. If the error happened on an already authenticated transaction, the customer needs to contact their card issuer for more information. - `authorization_error`: A transaction authorization cannot be created for a variety of reasons such as the card issuer couldn't be reached, or the card requires a PIN. - `declined`: The payment method was declined for a variety of reasons such as a card reported as lost or stolen, insufficient funds or reaching the limit available on the method to complete the purchase, a payment method on a known block list, etc. - `expired`: The payment method is expired. The customer should go to their portal page and change their payment method. - `fraud`: The payment provider suspected the payment method was fraudulent and has been blocked. Don't report more detailed information to your customer, and check on your provider account. - `invalid`: The payment method is invalid in most cases because of incorrect details (card/account number, CVC, expiration date, postal code). - `not_supported`: The payment method doesn't support this type of purchase (e.g. currency, online payment). - `unknown`: A generic error happened on the payment provider side.
      - `type` 'card' | 'apple_pay' | 'google_pay', required — Payment method type. - `card`: Credit or debit card - `apple_pay`: Apple Pay - `google_pay`: Google Pay - `direct_debit_sepa`: SEPA Direct Debit - `direct_debit_ach`: ACH Direct Debit - `direct_debit_bacs`: Bacs Direct Debit - `stripe_link`: Stripe Link
      - `last_4_digits` number, nullable, required — Last four digits of the card.
      - `expiration_date` string, nullable, required — Expiration date of the card using YYYY-MM format.
      - `brand` string, nullable, required — Brand of the card.
    - object — Payment method details used to pay the subscription.
      - `id` string, required — Payment method ID.
      - `status` 'active' | 'pending' | 'expired' | 'errored', required — Payment method status. - `active`: The payment method is ready to be used. - `pending`: The payment method is pending activation or being validated.
      - `type` 'direct_debit' | 'direct_debit_ach' | 'direct_debit_bacs', required — Payment method type. - `card`: Credit or debit card - `apple_pay`: Apple Pay - `google_pay`: Google Pay - `direct_debit_sepa`: SEPA Direct Debit - `direct_debit_ach`: ACH Direct Debit - `direct_debit_bacs`: Bacs Direct Debit - `stripe_link`: Stripe Link
      - `account_number_ending` string, nullable, required — Last characters of the account number.
    - object — Payment method details used to pay the subscription.
      - `id` string, required — Payment method ID.
      - `status` 'errored', required — Payment method status. - `errored`: The payment method has failed and can no longer be used.
      - `error_type` 'authentication_required' | 'authorization_error' | 'insufficient_funds' | 'declined' | 'expired' | 'fraud' | 'invalid' | 'mandate_invalid' | 'not_supported' | 'unknown', required — Payment method error type. - `authentication_required`: The card was declined as the transaction requires authentication (e.g. 3-D Secure). The customer should go to their portal page and authenticate their card. If the error happened on an already authenticated transaction, the customer needs to contact their card issuer for more information. - `authorization_error`: A transaction authorization cannot be created for a variety of reasons such as the card issuer couldn't be reached, or the card requires a PIN. - `declined`: The payment method was declined for a variety of reasons such as a card reported as lost or stolen, insufficient funds or reaching the limit available on the method to complete the purchase, a payment method on a known block list, etc. - `expired`: The payment method is expired. The customer should go to their portal page and change their payment method. - `fraud`: The payment provider suspected the payment method was fraudulent and has been blocked. Don't report more detailed information to your customer, and check on your provider account. - `invalid`: The payment method is invalid in most cases because of incorrect details (card/account number, CVC, expiration date, postal code). - `not_supported`: The payment method doesn't support this type of purchase (e.g. currency, online payment). - `unknown`: A generic error happened on the payment provider side.
      - `type` 'direct_debit' | 'direct_debit_ach' | 'direct_debit_bacs', required — Payment method type. - `card`: Credit or debit card - `apple_pay`: Apple Pay - `google_pay`: Google Pay - `direct_debit_sepa`: SEPA Direct Debit - `direct_debit_ach`: ACH Direct Debit - `direct_debit_bacs`: Bacs Direct Debit - `stripe_link`: Stripe Link
      - `account_number_ending` string, nullable, required — Last characters of the account number.
    - object — Payment method details used to pay the subscription.
      - `id` string, required — Payment method ID.
      - `status` 'active' | 'pending' | 'expired' | 'errored', required — Payment method status. - `active`: The payment method is ready to be used. - `pending`: The payment method is pending activation or being validated.
      - `type` 'stripe_link', required — Payment method type. - `card`: Credit or debit card - `apple_pay`: Apple Pay - `google_pay`: Google Pay - `direct_debit_sepa`: SEPA Direct Debit - `direct_debit_ach`: ACH Direct Debit - `direct_debit_bacs`: Bacs Direct Debit - `stripe_link`: Stripe Link
    - object — Payment method details used to pay the subscription.
      - `id` string, required — Payment method ID.
      - `status` 'errored', required — Payment method status. - `errored`: The payment method has failed and can no longer be used.
      - `error_type` 'authentication_required' | 'authorization_error' | 'insufficient_funds' | 'declined' | 'expired' | 'fraud' | 'invalid' | 'mandate_invalid' | 'not_supported' | 'unknown', required — Payment method error type. - `authentication_required`: The card was declined as the transaction requires authentication (e.g. 3-D Secure). The customer should go to their portal page and authenticate their card. If the error happened on an already authenticated transaction, the customer needs to contact their card issuer for more information. - `authorization_error`: A transaction authorization cannot be created for a variety of reasons such as the card issuer couldn't be reached, or the card requires a PIN. - `declined`: The payment method was declined for a variety of reasons such as a card reported as lost or stolen, insufficient funds or reaching the limit available on the method to complete the purchase, a payment method on a known block list, etc. - `expired`: The payment method is expired. The customer should go to their portal page and change their payment method. - `fraud`: The payment provider suspected the payment method was fraudulent and has been blocked. Don't report more detailed information to your customer, and check on your provider account. - `invalid`: The payment method is invalid in most cases because of incorrect details (card/account number, CVC, expiration date, postal code). - `not_supported`: The payment method doesn't support this type of purchase (e.g. currency, online payment). - `unknown`: A generic error happened on the payment provider side.
      - `type` 'stripe_link', required — Payment method type. - `card`: Credit or debit card - `apple_pay`: Apple Pay - `google_pay`: Google Pay - `direct_debit_sepa`: SEPA Direct Debit - `direct_debit_ach`: ACH Direct Debit - `direct_debit_bacs`: Bacs Direct Debit - `stripe_link`: Stripe Link
  - `contract_terms` object, nullable, required — Contract terms linked to the subscription.
    - `status` 'active' | 'pending' | 'finished', required — Contract status. - `active`: The contract is active. - `pending`: The contract is pending. It will be activated according to the activation strategy. - `finished`: The contract has ended.
    - `activation_strategy` 'start_date' | 'immediately' | 'manual' | 'quote_signature' | 'checkout', required — Activation strategy of the contract. - `immediately`: The contract will be activated immediately. - `manual`: The contract will be activated when a user manually activates it. - `start_date`: The contract will be activated on a specified date. - `quote_signature`: The contract will be activated when the subscription quote is signed. - `checkout`: The contract will be activated when the subscription checkout is completed.
    - `end_strategy` 'end_date' | 'duration' | 'manual', required — End strategy of contract. - `manual`: The contract ends when a user manually stops it. - `end_date`: The contract ends on a specified date. - `duration`: The contract ends after a specific relative duration, unless `renew_automatically` is true.
    - `starts_at` string, date-time, nullable, required — Start date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
    - `ends_at` string, date-time, nullable, required — End date of the contract. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
    - `duration` object, nullable, required — Interval over which the contract initially spans. Only applies to `duration` end strategy.
      - `period` 'days' | 'weeks' | 'months' | 'years', required
      - `count` number, required
    - `renew_automatically` union, required — Indicates if the contract should be renewed automatically. - `true`: The contract will be renewed automatically. - `false`: The contract will not be renewed automatically.
      - boolean
      - 'true' | 'false'
    - `renew_for_duration` object, nullable, required — Interval over which the contract will be renewed. Only applies if `renew_automatically` is true.
      - `period` 'days' | 'weeks' | 'months' | 'years', required
      - `count` number, required
    - `current_period_started_at` string, date-time, nullable, required — Start date of the current contract period. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
    - `current_period_ends_at` string, date-time, nullable, required — End date of the current contract period. UTC date time string in the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
  - `live_billing` LiveBilling
    - `total_amount` number, required
    - `total_discount` number, required
    - `fixed_amount` number, required
    - `billing_items` object[], required
      - `id` string, nullable, required
      - `total_amount` number, required
      - `original_amount` number, required
      - `discount_amount` number, nullable, required
      - `item_name` string, required
      - `tiers` object[], required
        - `from` number, required
        - `to` number, nullable, required
        - `amount` number, required
        - `total_amount` number, required
        - `count` number, required
    - `coupons` object[], required
      - `id` string, nullable, required
      - `name` string, nullable, required
      - `discount_amount` number, required
      - `item_ids` string[], required

## Other responses

- `404` — Subscription not found

---

[API](https://skmtc.dev/hyperline/apis/hyperline-api.md) · [All operations](https://skmtc.dev/hyperline/apis/hyperline-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hyperline/hyperline-api/revisions/19fa5f22e39b/schema)
