> ## Documentation Index
> Fetch the complete documentation index at: https://docs.hyperline.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Get subscription valuation

> Compute valuation metrics for an existing subscription.



## OpenAPI

````yaml get /v1/subscriptions/{id}/valuation
openapi: 3.1.0
info:
  title: Hyperline API
  version: 0.0.0
servers:
  - url: https://api.hyperline.co
  - url: https://sandbox.api.hyperline.co
security: []
paths:
  /v1/subscriptions/{id}/valuation:
    get:
      tags:
        - Subscriptions
      summary: Get subscription valuation
      description: Compute valuation metrics for an existing subscription.
      operationId: getSubscriptionValuation
      parameters:
        - schema:
            type: string
          required: true
          name: id
          in: path
        - schema:
            type: string
            enum:
              - year
              - quarter
              - month
            description: >-
              Period granularity for the breakdown. When provided, contract
              value and recurring contract value include a `by_period` array.
            example: year
          required: false
          description: >-
            Period granularity for the breakdown. When provided, contract value
            and recurring contract value include a `by_period` array.
          name: granularity
          in: query
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionValuation'
      security:
        - bearer: []
components:
  schemas:
    SubscriptionValuation:
      type: object
      properties:
        contract_value:
          type: object
          properties:
            total:
              type: number
              description: Total contract value in the smallest currency unit (cents).
              example: 120000
            invoiced:
              type: number
              description: Amount already invoiced in cents.
              example: 30000
            remaining:
              type: number
              description: Amount still to be invoiced in cents.
              example: 90000
            by_phase:
              type: array
              items:
                $ref: '#/components/schemas/PhaseContractValue'
              description: Contract value broken down by subscription phase.
            by_period:
              type: array
              items:
                $ref: '#/components/schemas/PeriodBucket'
              description: >-
                Contract value broken down by period. Only present when
                `granularity` is provided.
          required:
            - total
            - invoiced
            - remaining
            - by_phase
          description: Total expected invoicing over the entire contract.
        recurring_contract_value:
          type: object
          properties:
            total:
              type: number
              description: Total annualized recurring contract value in cents.
              example: 100000
            by_phase:
              type: array
              items:
                $ref: '#/components/schemas/PhaseRecurringValue'
              description: Recurring contract value broken down by subscription phase.
            by_period:
              type: array
              items:
                $ref: '#/components/schemas/PeriodBucket'
              description: >-
                Recurring contract value broken down by period. Only present
                when `granularity` is provided.
          required:
            - total
            - by_phase
          description: Steady-state recurring revenue excluding setup and trial phases.
        arr:
          type: object
          properties:
            fixed:
              type: number
              description: >-
                Fixed ARR from flat fees, committed seats, and recurring credits
                in cents.
              example: 100000
            variable:
              type: object
              properties:
                current:
                  type: number
                  description: >-
                    Variable ARR from dynamic product overage and uncommitted
                    seat usage in cents.
                  example: 5000
                averaged:
                  type: number
                  description: Two-period average of variable ARR in cents.
                  example: 4500
              required:
                - current
                - averaged
              description: Variable ARR components.
          required:
            - fixed
            - variable
          description: Annual Recurring Revenue.
      required:
        - contract_value
        - recurring_contract_value
        - arr
    PhaseContractValue:
      type: object
      properties:
        phase_id:
          type: string
          description: Subscription phase ID.
          example: subpha_abc123
        phase_name:
          type:
            - string
            - 'null'
          description: Subscription phase name.
          example: Standard
        phase_type:
          type: string
          enum:
            - setup
            - trial
            - standard
          description: Subscription phase type.
          example: standard
        starts_at:
          type:
            - string
            - 'null'
          description: Phase start date in ISO 8601 format.
          example: '2025-01-01T00:00:00.000Z'
        ends_at:
          type:
            - string
            - 'null'
          description: Phase end date in ISO 8601 format.
          example: '2025-12-31T23:59:59.999Z'
        amount:
          type: number
          description: Phase contract value in cents.
          example: 120000
      required:
        - phase_id
        - phase_name
        - phase_type
        - starts_at
        - ends_at
        - amount
    PeriodBucket:
      type: object
      properties:
        period:
          type: string
          description: Period label, e.g. "2025", "2025-Q1", or "2025-01".
          example: '2025'
        starts_at:
          type: string
          description: Period start date in ISO 8601 format.
          example: '2025-01-01T00:00:00.000Z'
        ends_at:
          type: string
          description: Period end date in ISO 8601 format.
          example: '2025-12-31T23:59:59.999Z'
        amount:
          type: number
          description: Prorated amount for this period in cents.
          example: 120000
      required:
        - period
        - starts_at
        - ends_at
        - amount
    PhaseRecurringValue:
      type: object
      properties:
        phase_id:
          type: string
          description: Subscription phase ID.
          example: subpha_abc123
        phase_name:
          type:
            - string
            - 'null'
          description: Subscription phase name.
          example: Standard
        starts_at:
          type:
            - string
            - 'null'
          description: Phase start date in ISO 8601 format.
          example: '2025-01-01T00:00:00.000Z'
        ends_at:
          type:
            - string
            - 'null'
          description: Phase end date in ISO 8601 format.
          example: '2025-12-31T23:59:59.999Z'
        annual_value:
          type: number
          description: Annualized recurring value for this phase in cents.
          example: 100000
        phase_amount:
          type: number
          description: Recurring value for the full phase duration in cents.
          example: 100000
      required:
        - phase_id
        - phase_name
        - starts_at
        - ends_at
        - annual_value
        - phase_amount
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````