---
title: "Get Valuation Snapshot"
method: GET
path: "/api/valuation/{symbol}/snapshot"
tags: ["valuation-split"]
---

# Get Valuation Snapshot

`GET /api/valuation/{symbol}/snapshot`

## Request

- Base URL: `https://api.equity-rank.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.equity-rank.com/api/valuation/{symbol}/snapshot`
- Auth: HTTP bearer

Return the TTM point-in-time valuation snapshot for a stock.

Cache-first: reads from the in-memory valuation cache populated by
GET /api/stocks/{symbol}/valuation. Returns 503 if cache is cold.

## Path parameters

- `symbol` string, required

## Response `200`

Successful Response

- ValuationSnapshot: Point-in-time valuation — TTM/most-recent fundamentals only. Derived from ValuationResult via snapshot_from_valuation_result(). Does NOT include forward-scenario outputs — those belong in ValuationProjection. ValuationResult is unchanged; this is a curated view of it for new endpoints.
  - `symbol` string, required
  - `price` number, nullable
  - `sector` string, nullable
  - `company_type` string, nullable
  - `consensus_fair_value` number, nullable
  - `consensus_margin_of_safety` number, nullable
  - `methods_used` string[]
  - `best_method` string, nullable
  - `best_fit` BestFit: The single best-fitting valuation method for this specific stock.
    - `method` string, required
    - `label` string, required
    - `fair_value` number, required
    - `margin_of_safety` number, required
    - `rationale` string, required
    - `confidence` string, required
    - `method_no_leverage` string, nullable
    - `label_no_leverage` string, nullable
    - `fair_value_no_leverage` number, nullable
    - `margin_of_safety_no_leverage` number, nullable
    - `confidence_no_leverage` string, nullable
    - `leverage_fired` boolean, nullable
    - `leverage_debt_equity` number, nullable
    - `bridge_observed` boolean, nullable
    - `rule_sha` string, nullable
  - `model_confidence_score` number, nullable
  - `model_confidence_label` string, nullable
  - `fair_value_low` number, nullable
  - `fair_value_high` number, nullable
  - `combined_adjusted_fair_value` number, nullable
  - `combined_adjusted_margin_of_safety` number, nullable
  - `fair_value_interval` FairValueInterval: Phase 47 / CI-01..04: 80% confidence band on a fair value point estimate. The band combines two uncertainty sources: - Cross-method disagreement (IQR-based, robust to DCF tail outliers) - Sector-vol within-method spread (decile-bucketed multiplier × FV) `confidence` is always 0.80 in v2.0; reserved for v2.1+ scenario weights. Copy framing in UI must use "80% model interval" — NEVER "forecast", "expected range", or "price target" (banned per CLAUDE.md).
    - `low` number, required
    - `high` number, required
    - `confidence` number
  - `data_quality` string, nullable
  - `data_as_of` string, nullable
  - `last_updated` string

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/equity-rank/apis/equity-rank-api.md) · [All operations](https://skmtc.dev/equity-rank/apis/equity-rank-api/llms.txt) · [OpenAPI document](https://skmtc.dev/equity-rank/apis/equity-rank-api/revisions/c2f2463fee33?raw)
