---
title: "Get subscription phase"
method: GET
path: "/v2/subscriptions/{id}/phases/{phaseId}"
tags: ["Subscriptions > Phases"]
---

# Get subscription phase

`GET /v2/subscriptions/{id}/phases/{phaseId}`

Retrieve the details of a phase for an existing subscription.

## Path parameters

- `id` string, required
- `phaseId` string, required

## Response `200`

- object
  - `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
            - `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
              - …
  - `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.

## Other responses

- `404` — Subscription or phase 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)
