GET /api/metrics/latest Latest Metrics — All Assets
Every asset’s latest scores and metrics in a single call — the quickest way to fill a dashboard or a table of scores without asking for each asset in turn. Add ?type=fx for currency pairs instead.
Results are keyed by symbol and cover active assets by default.
Request
curl https://api.bytetree.io/api/metrics/latest
# FX-only branch — synthesised from rate data
curl "https://api.bytetree.io/api/metrics/latest?type=fx"
# Include inactive assets (default is active only; ignored on the FX branch)
curl "https://api.bytetree.io/api/metrics/latest?status=inactive"
Query Parameters
| Name | Type | Required | Description |
|---|---|---|---|
type | string | No | fx to return the FX synthesis branch (rate-data-derived metrics for every tracked pair). Omit for the default Asset-collection branch. |
status | string | No | Asset status filter for the default branch: active (default), pending, or inactive. Ignored on the type=fx branch since FX pairs aren’t issuer-domiciled assets. |
Response
Note: unlike most list endpoints on this API,
datais a plain object keyed by symbol, not an array. This is the single-shot dashboard shape — directdata[symbol]access is intentional.
| Field | Type | Description |
|---|---|---|
count | number | Number of symbols included |
data | object | Map of symbol → latest metric record |
Each value in data contains date, close, and all computed metric fields at the top level. See Latest Metrics for full field descriptions.
With ?format=csv the map renders as one row per symbol with a leading key column carrying the symbol — see How CSV is shaped.
{
"count": 34,
"data": {
"EURUSD": {
"date": "2026-05-05T00:00:00.000Z",
"close": 1.16838,
"byteTrendCapr200w": 4,
"trendRegimeCapr200w": "Emerging Trend",
"changeCapr200w": 1
},
"GBPUSD": {
"date": "2026-05-05T00:00:00.000Z",
"close": 1.34120,
"byteTrendCapr200w": 3,
"trendRegimeCapr200w": "Neutral",
"changeCapr200w": 0
}
}
}
Notes
- The default branch reads from PriceData via
Asset.find({ status }); thetype=fxbranch reads from FxData directly. The two share the same response envelope. - For per-symbol lookups use
/api/metrics/:symbol/latest; for an FX-scoped list with array envelope use/api/fx. - Symbols without computed metrics for the latest expected date are omitted from
datarather than emitted withnullvalues.