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
[ { "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": {} } ] }] [
{
"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": {}
}
]
}
]
DataLog
Each entry in the dataLogs array contains:
id UUID Unique identifier for this sample
parentId UUID nullableParent 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
Data Logs are raw samples with full provenance. Biomarkers are processed, deduplicated, and aggregated—ready for most use cases.
Subscribe to Data Log webhooks in the dashboard. Logs are streamed in real-time as they're recorded.
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.
Stream raw health samples as they're recorded
Configure webhook endpoints and select log types
Support
For help with Data Logs, reach out in the Slack community or contact support@sahha.ai .
- Previous
- Biomarkers
- Next
- Widgets