# DashboardMetricValue

object type

One widget's answered value: available:true carries kind (count | money | percent | rating) + the matching figure + asOf; available:false carries a plain-words reason (more rows than one honest glance can total, nothing to measure yet, or an organization the buy desk has not evaluated) and nothing else. A figure is never clipped, estimated, or silently partial.

## Fields

| Field | Type | Notes |
| --- | --- | --- |
| `available` | [Boolean](/types/#scalars) `Boolean!` | No further notes. |
| `kind` | [String](/types/#scalars) | count \| money \| percent \| rating — present ONLY when available. |
| `count` | [Int](/types/#scalars) | The counted figure (kind = count; low_stock_count sums the per-organization buy-desk snapshots, asOf = the OLDEST evaluation). |
| `amounts` | [DashboardMetricAmount](/types/DashboardMetricAmount/) `[DashboardMetricAmount!]` | The per-currency sums (kind = money; inventory_value excludes items without a cost basis — no cost, no value opinion). |
| `percentBp` | [Int](/types/#scalars) | BASIS POINTS, 0..10000 (kind = percent — 3452 = 34.52%; sell_through_30d = net units sold over the trailing 30 UTC days ÷ (net sold + on hand now), the velocity NET convention: a returned unit moves from sold to held). |
| `ratingCenti` | [Int](/types/#scalars) | The average ×100, 100..500 (kind = rating — 437 = 4.37 stars over the PUBLISHED review census). |
| `sampleCount` | [Int](/types/#scalars) | The census behind the rating (kind = rating — an average without its sample size would lie). |
| `asOf` | [String](/types/#scalars) | The instant the figure is true at (ISO-8601; compute-on-read for the live lanes; the substrate-fed lanes carry their fold/evaluation instant). |
| `reason` | [String](/types/#scalars) | Present ONLY when unavailable — merchant words naming exactly why. |
