Heart Rate Notifications - JSON Export Format
Documentation for heart rate notifications structure in JSON exports
Last updated: February 6, 2026
On this page
- Structure
- Fields
- Required Fields
- Optional Fields
- Notification Types
- High Heart Rate Notification
- Low Heart Rate Notification
- Irregular Rhythm Notification
- Heart Rate Data
- Heart Rate Variability (HRV) Data
- Example: Complete Notification Entry
- Notification Thresholds
- Device Requirements
- Use Cases
- Important Notes
- Tips
- Related Documentation
Heart Rate Notifications
Heart Rate Notifications include high and low heart rate alerts from Apple Watch, irregular rhythm notifications, and detailed heart rate data collected during these events. In JSON exports, heart rate notifications are stored in the heartRateNotifications array.
Structure
Heart rate notification data has a unique structure that differs from other health metrics. Each notification includes event timing, thresholds (for high/low notifications), and detailed heart rate measurements during the event:
{
"start": "2024-02-06 14:30:00 -0800",
"end": "2024-02-06 14:35:00 -0800",
"threshold": 100,
"heartRate": [
{
"hr": 105,
"units": "bpm",
"timestamp": {
"start": "2024-02-06 14:30:00 -0800",
"end": "2024-02-06 14:30:05 -0800",
"interval": {
"duration": 5,
"units": "s"
}
}
}
],
"heartRateVariation": [
{
"hrv": 45,
"units": "ms",
"timestamp": {
"start": "2024-02-06 14:30:00 -0800",
"end": "2024-02-06 14:30:05 -0800",
"interval": {
"duration": 5,
"units": "s"
}
}
}
]
}
Fields
Required Fields
start(Date): Start time of the heart rate notification event in formatyyyy-MM-dd HH:mm:ss Zend(Date): End time of the heart rate notification event in formatyyyy-MM-dd HH:mm:ss ZheartRate(Array): Array of heart rate measurements during the event (see Heart Rate Data below)heartRateVariation(Array): Array of heart rate variability (HRV) measurements during the event (see HRV Data below)
Optional Fields
threshold(Number): Heart rate threshold that triggered the notification. Only included for high and low heart rate notifications.
Notification Types
High Heart Rate Notification
Triggered when heart rate exceeds a set threshold (typically 100-150 bpm) while at rest.
{
"start": "2024-02-06 14:30:00 -0800",
"end": "2024-02-06 14:35:00 -0800",
"threshold": 100,
"heartRate": [
{
"hr": 105,
"units": "bpm",
"timestamp": {
"start": "2024-02-06 14:30:00 -0800",
"end": "2024-02-06 14:30:05 -0800",
"interval": {
"duration": 5,
"units": "s"
}
}
}
],
"heartRateVariation": []
}
Low Heart Rate Notification
Triggered when heart rate falls below a set threshold (typically 40-50 bpm) while at rest.
{
"start": "2024-02-06 03:00:00 -0800",
"end": "2024-02-06 03:05:00 -0800",
"threshold": 40,
"heartRate": [
{
"hr": 38,
"units": "bpm",
"timestamp": {
"start": "2024-02-06 03:00:00 -0800",
"end": "2024-02-06 03:00:05 -0800",
"interval": {
"duration": 5,
"units": "s"
}
}
}
],
"heartRateVariation": []
}
Irregular Rhythm Notification
Triggered when Apple Watch detects an irregular heart rhythm that may indicate atrial fibrillation.
{
"start": "2024-02-06 16:00:00 -0800",
"end": "2024-02-06 16:05:00 -0800",
"heartRate": [
{
"hr": 85,
"units": "bpm",
"timestamp": {
"start": "2024-02-06 16:00:00 -0800",
"end": "2024-02-06 16:00:05 -0800",
"interval": {
"duration": 5,
"units": "s"
}
}
}
],
"heartRateVariation": [
{
"hrv": 35,
"units": "ms",
"timestamp": {
"start": "2024-02-06 16:00:00 -0800",
"end": "2024-02-06 16:00:05 -0800",
"interval": {
"duration": 5,
"units": "s"
}
}
}
]
}
Note: Irregular rhythm notifications do not include a threshold field.
Heart Rate Data
The heartRate array contains detailed heart rate measurements during the notification event:
{
"hr": 105,
"units": "bpm",
"timestamp": {
"start": "2024-02-06 14:30:00 -0800",
"end": "2024-02-06 14:30:05 -0800",
"interval": {
"duration": 5,
"units": "s"
}
}
}
Fields:
hr(Number): Heart rate value in beats per minuteunits(String): Unit of measurement (always"bpm"for beats per minute)timestamp(Object): Time period for this measurementstart(Date): Start of the measurement periodend(Date): End of the measurement periodinterval(Object): Duration of the measurementduration(Number): Duration valueunits(String): Unit (always"s"for seconds)
Heart Rate Variability (HRV) Data
The heartRateVariation array contains heart rate variability measurements:
{
"hrv": 45,
"units": "ms",
"timestamp": {
"start": "2024-02-06 14:30:00 -0800",
"end": "2024-02-06 14:30:05 -0800",
"interval": {
"duration": 5,
"units": "s"
}
}
}
Fields:
hrv(Number): Heart rate variability value in millisecondsunits(String): Unit of measurement (always"ms"for milliseconds)timestamp(Object): Same structure as heart rate timestamp
Understanding HRV:
- HRV measures the variation in time between heartbeats
- Higher HRV generally indicates better cardiovascular fitness and stress recovery
- Lower HRV may indicate stress, fatigue, or health issues
- HRV can vary significantly based on time of day, activity level, and individual factors
Example: Complete Notification Entry
{
"start": "2024-02-06 14:30:00 -0800",
"end": "2024-02-06 14:35:00 -0800",
"threshold": 100,
"heartRate": [
{
"hr": 105,
"units": "bpm",
"timestamp": {
"start": "2024-02-06 14:30:00 -0800",
"end": "2024-02-06 14:30:05 -0800",
"interval": {
"duration": 5,
"units": "s"
}
}
},
{
"hr": 108,
"units": "bpm",
"timestamp": {
"start": "2024-02-06 14:30:05 -0800",
"end": "2024-02-06 14:30:10 -0800",
"interval": {
"duration": 5,
"units": "s"
}
}
}
],
"heartRateVariation": [
{
"hrv": 45,
"units": "ms",
"timestamp": {
"start": "2024-02-06 14:30:00 -0800",
"end": "2024-02-06 14:30:05 -0800",
"interval": {
"duration": 5,
"units": "s"
}
}
}
]
}
Notification Thresholds
Thresholds are user-configurable in Apple Health settings:
- High Heart Rate: Typically 100-150 bpm (default varies by age)
- Low Heart Rate: Typically 40-50 bpm (default varies by age)
The threshold field shows the exact threshold that triggered the notification.
Device Requirements
Heart rate notifications require:
- Apple Watch Series 1 or later (for basic heart rate monitoring)
- Apple Watch Series 4 or later (for irregular rhythm notifications)
- WatchOS 5.1.2 or later (for irregular rhythm notifications)
- Notifications enabled in Apple Health settings
Use Cases
Heart rate notification data can be useful for:
- Health monitoring: Track when heart rate exceeds normal ranges
- AFib detection: Monitor irregular rhythm notifications for potential atrial fibrillation
- Medical records: Share notification events with healthcare providers
- Pattern analysis: Identify triggers or patterns in heart rate events
- Fitness insights: Understand recovery and stress responses through HRV data
- Symptom correlation: Cross-reference notifications with symptoms, activities, or medications
Important Notes
- Not a medical device: Apple Watch notifications are not intended to replace professional medical diagnosis
- Consult healthcare providers: Always consult with healthcare professionals about heart rate notifications, especially irregular rhythm alerts
- Context matters: Heart rate can be elevated due to exercise, stress, caffeine, medications, or other factors
- AFib notifications: Irregular rhythm notifications may indicate atrial fibrillation and should be discussed with a healthcare provider
Tips
- Review notifications: Regularly review heart rate notifications to identify patterns
- Note context: Consider what you were doing when notifications occurred (exercise, stress, sleep, etc.)
- Track trends: Monitor notification frequency and patterns over time
- Combine with ECG: Cross-reference irregular rhythm notifications with ECG readings for comprehensive heart health monitoring
Related Documentation
- JSON Export Format Overview
- ECG - For detailed ECG readings
- Health Metrics - For general heart rate data
- Manual Export Guide
- Automations Overview