-
Notifications
You must be signed in to change notification settings - Fork 1
Get HRV Measures
François Dupont edited this page Jun 1, 2026
·
2 revisions
Guided HRV measurements recorded in the Nolio app (Bluetooth chest strap or finger sensor): full beat-to-beat detail with time-domain and frequency-domain indices, and optionally the raw RR intervals.
This data only exists for in-app measurements — connected wearables never expose beat-to-beat RR intervals. For a single daily RMSSD index across all sources, use Get HRV RMSSD instead.
- /get/hrv/measures/
- HTTP Method: GET
| Parameter | Required | Type | Description |
|---|---|---|---|
from |
no | string | Start date (inclusive), format YYYY-MM-DD. If omitted, defaults to a 90-day window ending at to (or at today if to is also omitted) |
to |
no | string | End date (inclusive), format YYYY-MM-DD
|
limit |
no | int | Maximum number of measurements returned (default 15; max 366, or 31 when with_raw=true) |
with_raw |
no | bool |
true to include the raw RR intervals (raw_rrs). Heavy payload — omitted by default |
athlete_id |
no | int | For coaches: retrieve data of a managed athlete. You can retrieve the ids with the Get Athletes route |
Results are ordered most recent first.
Last HRV measurements (last 90 days by default):
https://www.nolio.io/api/get/hrv/measures/
Measurements over a date range, with raw RR intervals:
https://www.nolio.io/api/get/hrv/measures/?from=2025-01-01&to=2025-03-31&with_raw=true
Measurements of a managed athlete (coach access):
https://www.nolio.io/api/get/hrv/measures/?athlete_id=456
A JSON array of HRV measurement objects (most recent first). All index fields are floats and may be null if not computed.
| Field | Type | Description |
|---|---|---|
id |
int | Measurement ID |
date |
string | Date of the measurement (YYYY-MM-DD) |
hour |
string | Start time of the measurement (HH:MM) |
rmssd |
float or null | Root Mean Square of Successive Differences (ms) |
sdnn |
float or null | Standard deviation of NN intervals (ms) |
pnn50 |
float or null | % of successive RR differences greater than 50 ms |
hr_mean |
float or null | Mean heart rate (bpm) |
rr_mean |
float or null | Mean RR interval (ms) |
serenity |
float or null | Nolio serenity index |
total_power |
float or null | Total spectral power (ms²) |
lf_power |
float or null | Low-frequency power, as % of total power |
hf_power |
float or null | High-frequency power, as % of total power |
ratio_lf_hf |
float or null | LF/HF ratio |
measure_method |
string |
ble (Bluetooth chest strap) or finger (finger sensor) |
device_name |
string or null | Name of the recording device, if known |
raw_rrs |
array of int | Raw RR intervals (ms). Only present when with_raw=true
|
[
{
"id": 44021,
"date": "2025-06-15",
"hour": "07:12",
"rmssd": 52.3,
"sdnn": 61.8,
"pnn50": 18.4,
"hr_mean": 54.1,
"rr_mean": 1109.0,
"serenity": 72.0,
"total_power": 3120.0,
"lf_power": 41.2,
"hf_power": 38.7,
"ratio_lf_hf": 1.06,
"measure_method": "ble",
"device_name": "Polar H10",
"raw_rrs": [1102, 1115, 1098, 1121]
}
]Overlap with Get HRV RMSSD: each in-app measurement also surfaces as a single RMSSD value in Get HRV RMSSD with
source = nolio_hrv.
-
400- Invalid date format forfromorto -
403- Invalidathlete_id(malformed value), or you are not allowed to access that managed athlete