---
title: "Get customer valuation"
method: GET
path: "/v1/customers/{id}/valuation"
tags: ["Customers"]
---

# Get customer valuation

`GET /v1/customers/{id}/valuation`

Compute aggregated valuation metrics across all active subscriptions for a customer.

## Path parameters

- `id` string, required

## Query parameters

- `granularity` 'year' | 'quarter' | 'month' — Period granularity for the breakdown. When provided, contract value and recurring contract value include a `by_period` array.

## Response `200`

- CustomerValuation
  - `by_currency` CurrencyValuation[], required — Valuations grouped by currency.
    - `currency` string, required — ISO 4217 currency code.
    - `subscriptions` object[], required — Individual subscription valuations within this currency.
      - `subscription_id` string, required — Subscription ID.
      - `valuation` SubscriptionValuation, required
        - `contract_value` object, required — Total expected invoicing over the entire contract.
          - `total` number, required — Total contract value in the smallest currency unit (cents).
          - `invoiced` number, required — Amount already invoiced in cents.
          - `remaining` number, required — Amount still to be invoiced in cents.
          - `by_phase` PhaseContractValue[], required — Contract value broken down by subscription phase.
            - `phase_id` string, required — Subscription phase ID.
            - `phase_name` string, nullable, required — Subscription phase name.
            - `phase_type` 'setup' | 'trial' | 'standard', required — Subscription phase type.
            - `starts_at` string, nullable, required — Phase start date in ISO 8601 format.
            - `ends_at` string, nullable, required — Phase end date in ISO 8601 format.
            - `amount` number, required — Phase contract value in cents.
          - `by_period` PeriodBucket[] — Contract value broken down by period. Only present when `granularity` is provided.
            - `period` string, required — Period label, e.g. "2025", "2025-Q1", or "2025-01".
            - `starts_at` string, required — Period start date in ISO 8601 format.
            - `ends_at` string, required — Period end date in ISO 8601 format.
            - `amount` number, required — Prorated amount for this period in cents.
        - `recurring_contract_value` object, required — Steady-state recurring revenue excluding setup and trial phases.
          - `total` number, required — Total annualized recurring contract value in cents.
          - `by_phase` PhaseRecurringValue[], required — Recurring contract value broken down by subscription phase.
            - `phase_id` string, required — Subscription phase ID.
            - `phase_name` string, nullable, required — Subscription phase name.
            - `starts_at` string, nullable, required — Phase start date in ISO 8601 format.
            - `ends_at` string, nullable, required — Phase end date in ISO 8601 format.
            - `annual_value` number, required — Annualized recurring value for this phase in cents.
            - `phase_amount` number, required — Recurring value for the full phase duration in cents.
          - `by_period` PeriodBucket[] — Recurring contract value broken down by period. Only present when `granularity` is provided.
            - `period` string, required — Period label, e.g. "2025", "2025-Q1", or "2025-01".
            - `starts_at` string, required — Period start date in ISO 8601 format.
            - `ends_at` string, required — Period end date in ISO 8601 format.
            - `amount` number, required — Prorated amount for this period in cents.
        - `arr` object, required — Annual Recurring Revenue.
          - `fixed` number, required — Fixed ARR from flat fees, committed seats, and recurring credits in cents.
          - `variable` object, required — Variable ARR components.
            - `current` number, required — Variable ARR from dynamic product overage and uncommitted seat usage in cents.
            - `averaged` number, required — Two-period average of variable ARR in cents.
    - `totals` object, required — Aggregated totals across all subscriptions for this currency.
      - `contract_value` object, required
        - `total` number, required — Total contract value in the smallest currency unit (cents).
        - `invoiced` number, required — Amount already invoiced in cents.
        - `remaining` number, required — Amount still to be invoiced in cents.
      - `recurring_contract_value` object, required
        - `total` number, required — Total annualized recurring contract value in cents.
      - `arr` object, required
        - `fixed` number, required — Fixed ARR from flat fees, committed seats, and recurring credits in cents.
        - `variable` object, required
          - `current` number, required — Variable ARR from dynamic product overage and uncommitted seat usage in cents.
          - `averaged` number, required — Two-period average of variable ARR in cents.
      - `by_period` PeriodBucket[] — Contract value broken down by period. Only present when `granularity` is provided.
        - `period` string, required — Period label, e.g. "2025", "2025-Q1", or "2025-01".
        - `starts_at` string, required — Period start date in ISO 8601 format.
        - `ends_at` string, required — Period end date in ISO 8601 format.
        - `amount` number, required — Prorated amount for this period in cents.

---

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