Skip to main content
Device-derived readings: heart rate, sleep, activity, glucose, and vitals. Submit these via POST /v1/logs/batch or the SDK; see How logs work for submission fields and the difference between lifecycle-tracked and point-in-time log types.

Heart rate data

Type: heart_rate_data · Source: SDK / REST, App SDK (coming soon) · Extensible Reserved for heart rate or HRV from a device or integration: resting_bpm, avg/min/max_bpm, avg_hrv_sdnn_ms, period, device_provider. Payload
number
Resting heart rate in beats per minute.
number
Average heart rate in bpm over the measurement period.
number
Minimum heart rate in bpm over the measurement period.
number
Maximum heart rate in bpm over the measurement period.
number
Heart rate variability (SDNN) in milliseconds.
integer
Count of irregular rhythm events detected by the device.
object
string
Device or integration provider.. Example: garmin, fitbit, apple_health
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
Related types: Use vitals_measurement for vital signs from exam or flowsheet. Not intended for single spot HR in a vitals set (vitals_measurement with heart_rate_bpm). Always include period to anchor the measurement window; include device_provider when multiple simultaneous sources are possible.

Sleep data

Type: sleep_data · Source: SDK / REST, App SDK (coming soon) · Extensible Reserved for one sleep session from a device or integration. Each event represents a single session; include period (full sleep window, UTC start to end) and device_provider: total_sleep_minutes, stages, period, device_provider. Payload
number
Total sleep duration in minutes.
number
Duration in deep/slow-wave sleep stage (minutes).
number
Duration in REM sleep stage (minutes).
number
Duration in light sleep stage (minutes).
number
Wake after sleep onset (WASO) in minutes.
object
string
Device or integration provider.. Example: garmin, fitbit, apple_health
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
Related types: Use activity_data for activity or steps, vitals_measurement for vitals.

Activity data

Type: activity_data · Source: SDK / REST, App SDK (coming soon), signal_feature_pipeline · Extensible Reserved for activity measurements from wearables, device integrations, or the signal feature pipeline. Each event covers one measurement period (a daily summary or a single detected walking bout); always set period to define the window: steps, walks, active_minutes, sedentary_minutes, calories, floors_climbed, exercise_sessions, period, device_provider, local_date. Payload
integer
Step count within the measurement period.
integer
Number of discrete walking bouts.
number
Total minutes spent walking.
number
Percentage of time spent at home location (0–100).. Minimum: 0. Maximum: 100
object
Distance with explicit unit. Server normalises to metres.
integer
Minutes of moderate-to-vigorous activity.
integer
Sedentary minutes within the measurement period.
number
Total calories burned.
number
Active calories burned.
integer
Number of floors climbed.
object[]
object
string
Device or integration provider.. Example: garmin, fitbit, apple_health
string
ISO 8601 date (YYYY-MM-DD) in the patient’s local timezone, derived from utc_offset_seconds. Preferred anchor for per-day grouping when period spans midnight in UTC.
integer
UTC offset of the sensor at the time of the measurement, in seconds (e.g. -18000 for UTC-5).
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
Related types: Use vitals_measurement for vital signs, sleep_data for sleep, heart_rate_data for heart rate.

CGM reading

Type: cgm_reading · Source: SDK / REST, App SDK (coming soon) · Extensible Reserved for a single CGM reading from a continuous glucose device: glucose_mg_dl + sensor_timestamp; trend_arrow, glucose_flag, device_provider optional. Payload
number
required
Blood glucose in mg/dL. To convert to mmol/L divide by 18.018.
string
e.g. rising, falling, steady.. Example: rising, falling, stable
string
Whether glucose is above, below, or within range.. One of: high, low, normal
string
required
ISO 8601 UTC timestamp from the CGM sensor.
string
Device or integration provider.. Example: dexcom, freestyle_libre, eversense
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
Related types: Use lab_results for lab glucose or other lab results. Not intended for fingerstick or other non-CGM glucose (lab_results if from lab).

SpO2 reading

Type: spo2_reading · Source: SDK / REST, App SDK (coming soon) · Extensible Reserved for SpO2 from pulse oximeter or wearable: spo2_percent (+ pulse_bpm, measurement_context, sensor_timestamp, device_provider). Always include sensor_timestamp and device_provider. Payload
number
required
Oxygen saturation percentage (0–100).. Minimum: 0. Maximum: 100
number
Simultaneous pulse rate in beats per minute.
string
Conditions under which SpO2 was measured.. One of: resting, during_sleep, activity
string
ISO 8601 UTC datetime of the reading.
string
Device or integration provider.. Example: withings, garmin, fitbit
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
Related types: Use lab_results for lab results. Not intended for vitals from exam/flowsheet (vitals_measurement when SpO2 is part of a broader vitals set).

Weight measurement

Type: weight_measurement · Source: SDK / REST, App SDK (coming soon) · Extensible Reserved for weight from a connected scale device: weight_kg (+ body_fat_percent, bmi, sensor_timestamp, device_provider). Payload
number
required
Body weight in kilograms.
number
Body fat percentage (0–100).. Minimum: 0. Maximum: 100
number
Body mass index (calculated). Provide if returned by the device.
string
ISO 8601 UTC datetime of the measurement.
string
Device or integration provider.. Example: withings, omron, fitbit
object
Open key/value bag for client/source-specific fields that lack a typed slot; merged into the entry’s extensions (leaf-level, last-writer-wins by event timestamp).
Example
Related types: Use vitals_measurement for weight from vitals/flowsheet, lab_results for lab or other.