# Series

> https://meetkeely.com/developers/api/series · Updated 2026-11-06 · Keely, by Metrica Fit LLC

## GET /v1/series/{metric}

- **Scope:** `nights` or `days`, by metric
- **Path:** `metric`, one of the table’s
- **Query:** `from`, `to` (`YYYY-MM-DD`), at most 366 days; the last 30 by default

One metric over a range, one point per date, `null` for dates without data, with `stats` over the dates that have one. The scope depends on the metric:

| Metric | Unit | Scope |
|---|---|---|
| `recovery` | % | `nights` |
| `hrv` | ms | `nights` |
| `resting_hr` | bpm | `nights` |
| `breathing_rate` | breaths/min | `nights` |
| `skin_temp_deviation` | °C from normal | `nights` |
| `asleep` | minutes | `nights` |
| `sleep_need` | minutes | `nights` |
| `sleep_performance` | % of need | `nights` |
| `consistency` | Sleep Regularity Index | `nights` |
| `deep_sleep` | minutes | `nights` |
| `rem_sleep` | minutes | `nights` |
| `load` | Load | `days` |
| `balance` | 7-day ÷ 28-day Load | `days` |
| `steps` | steps | `days` |
| `stress_day` | score 0–100 | `days` |
| `stress_night` | score 0–100 | `days` |

```json Response
{
  "metric": "hrv",
  "unit": "ms",
  "from": "2026-09-25",
  "to": "2026-09-27",
  "points": [
    { "date": "2026-09-25", "value": null },
    { "date": "2026-09-26", "value": 58.4 },
    { "date": "2026-09-27", "value": 70.2 }
  ],
  "stats": { "days_with_data": 2, "mean": 64.3, "min": 58.4, "max": 70.2 },
  "as_of": "2026-09-27T15:20:00Z",
  "methodology": "https://meetkeely.com/methodology"
}
```
