Skip to content

Heart Rate Series

Stream: timeseries | Event type: heart_rate_series

Continuous heart rate samples chunked into 15-minute windows using compact columnar arrays.

{
"event_type": "heart_rate_series",
"data_version": "1.1",
"source_id": "ts-hr-a1b2...",
"provider_ref": "hr-intraday-2026-03-19",
"device_id": "dev-001",
"payload_ts": 1742558400000,
"revision": 1,
"capture_mode": null,
"window_start": 1742558400000,
"window_end": 1742559300000,
"chunk_index": 28,
"day_complete": false,
"resolution_s": 5,
"columns": ["ts", "bpm"],
"samples": [
[1742558400000, 72],
[1742558405000, 73],
[1742558410000, 71]
]
}

These fields are shared by all timeseries event types.

Field Type Description
window_start number | null (epoch ms) Start of the 15-minute chunk.
window_end number | null (epoch ms) End of the 15-minute chunk.
chunk_index number | null 0-based index within the day (0-95 for 15-min chunks).
day_complete boolean | null Whether HealthSync has emitted all available chunks for this day. null when unknown.
resolution_s number | null Sample interval hint in seconds.
columns string[] Ordered column names for each sample array.
samples array[] Compact array of values matching columns order.
Column Type Unit Description
ts number epoch ms Sample timestamp.
bpm number bpm Heart rate at this instant.
day_complete Meaning
true HealthSync has received and emitted all available chunks for this day.
false More chunks may follow (day still in progress).
null HealthSync cannot determine completeness (e.g., backfill).