Data Logs

Introduction

Raw health data, unfiltered. Data Logs provide granular, timestamped samples directly from HealthKit and Health Connect—ideal for research, clinical studies, and custom analytics.

Need processed data instead?

Most use cases are better served by Biomarkers —deduplicated, aggregated, and ready to use. Use Data Logs only when you need the raw samples.


Key Features

Raw & Unfiltered

Direct access to granular health samples for research and analysis

Multi-Source

Data from HealthKit, Health Connect, and wearables in one stream

Real-time Streaming

Receive data as it's recorded via webhooks

Research-Grade

Timestamped, source-attributed records for clinical use

Complete Provenance

Know exactly which device and app recorded each sample

Flexible Filtering

Filter by log type, data type, or time range


List of Data Logs

Below are the key data types captured in Data Logs, categorized by their respective health aspects. The logs can be streamed via webhooks for real-time data reception.

Activity Logs

Data Type Unit Description Requires Wearable
exercise_time minute Duration of physical exercise. No
floors_climbed count Number of floors climbed. No
stand_time minute Time spent standing. No
steps count Total steps taken. No

Blood Logs

Data Type Unit Description Requires Wearable
blood_glucose mg/dL Glucose levels in the blood. Yes
blood_pressure_diastolic mmHg Diastolic blood pressure. Yes
blood_pressure_systolic mmHg Systolic blood pressure. Yes

Body Logs

Data Type Unit Description Requires Wearable
body_fat percent Percentage of body fat. Yes
body_mass_index count Body Mass Index (BMI). No
lean_body_mass kg Weight of lean body mass. Yes
weight kg Total body weight. No

Device Logs

Data Type Unit Description Requires Wearable
device_lock boolean Indicates if the device is locked. No

Energy Logs

Data Type Unit Description Requires Wearable
active_energy_burned kcal Calories burned through activity. No
basal_energy_burned kcal Calories burned at rest. No
time_in_daylight minute Time spent in natural daylight. No

Exercise Logs

Data Type Unit Description Requires Wearable
exercise session * minute Duration spent doing specified exercise type. See all supported exercise types No
exercise_session_biking minute Duration spent cycling or biking No
exercise_session_running minute Duration spent running or jogging No
exercise_session_walking minute Duration spent walking for exercise No

Heart Logs

Data Type Unit Description Requires Wearable
heart_rate bpm Beats per minute. Yes
heart_rate_variability ms Variation in intervals between heartbeats. Yes
heart_rate_variability_sdnn ms Standard deviation of NN intervals. Yes
resting_heart_rate bpm Heart rate at rest. Yes
walking_heart_rate_average bpm Average heart rate while walking. Yes

Oxygen Logs

Data Type Unit Description Requires Wearable
oxygen_saturation percent Percentage of oxygen-saturated hemoglobin. Yes
respiratory_rate bps Breaths per second. Yes
vo2_max ml/kg/min Maximum rate of oxygen consumption during exercise. Yes

Sleep Logs

Data Type Unit Description Requires Wearable
sleep_stage_awake minute Duration in awake stage. Yes
sleep_stage_deep minute Duration in deep sleep stage. Yes
sleep_stage_in_bed minute Duration in bed, not necessarily asleep. No
sleep_stage_light minute Duration in light sleep stage. Yes
sleep_stage_rem minute Duration in REM sleep stage. Yes
sleep_stage_sleeping minute Duration spent asleep/sleeping. No

Temperature Logs

Data Type Unit Description Requires Wearable
basal_body_temperature degC Body temperature at rest. Yes
sleeping_wrist_temperature degC Temperature measured at the wrist during sleep Yes

Browse our comprehensive data dictionary to view all available outputs beyond just data logs.

Output Schema for Data Logs

When you receive data from Data Logs, it comes in a structured format.

logType string

Log category: activity, sleep, heart, body, energy, etc.

dataType string

Specific data type (e.g., steps, heart_rate)

externalId string

The identifier for the profile that sent the log

receivedAtUtc datetime

UTC timestamp when the log was received

dataLogs DataLog[]

Array of individual data samples

Example Response
json
[
{
"logType": "activity",
"dataType": "steps",
"externalId": "ext-789",
"receivedAtUtc": "2023-06-26T12:34:56+00:00",
"dataLogs": [
{
"id": "123e4567-e89b-12d3-a456-426614174003",
"parentId": null,
"value": 10000,
"unit": "count",
"source": "iPhone X",
"recordingMethod": "RECORDING_METHOD_AUTOMATICALLY_RECORDED",
"deviceType": "iPhone13,2",
"startDateTime": "2023-06-25T00:00:00+00:00",
"endDateTime": "2023-06-25T23:59:59+00:00",
"additionalProperties": {}
}
]
}
]
Object

DataLog

Each entry in the dataLogs array contains:

id UUID

Unique identifier for this sample

parentId UUID nullable

Parent record ID for hierarchical data

value float

The recorded measurement value

unit string

Unit of measurement (e.g., count, bpm)

source string

Device or app that recorded the data

recordingMethod string

How the data was captured (automatic, manual, etc.)

deviceType string

Device model identifier

startDateTime datetime

When the measurement started (ISO 8601)

endDateTime datetime

When the measurement ended (ISO 8601)

additionalProperties object

Extra metadata specific to certain log types


FAQ

What's the difference between Data Logs and Biomarkers?

Data Logs are raw samples with full provenance. Biomarkers are processed, deduplicated, and aggregated—ready for most use cases.

How do I receive Data Logs?

Subscribe to Data Log webhooks in the dashboard. Logs are streamed in real-time as they're recorded.

Can I filter by data type?

Yes. Configure your webhook to receive only specific log types (e.g., only sleep or heart data).


Getting Started

Data Logs are delivered exclusively via webhooks for real-time streaming.


Support

For help with Data Logs, reach out in the Slack community or contact support@sahha.ai .

Previous
Biomarkers