Garmin Sleep Summary Export Format
- Updated
Sleep summaries are data records representing how long the user slept and the automatically classified sleep levels during that sleep event (e.g., light, deep periods) based on data generated by the user’s device.
- File Prefix:
GarminSleepSummarySummary
- Duration File Prefix (For CSV format):
GarminSleepSummarySummary_Duration
- Sample File Prefix (For CSV format):
GarminSleepSummarySummary_Samples
- Sleep Scores File Prefix (For CSV format):
GarminSleepSummary_Score
- Naps File Prefix (For CSV format): GarminSleepSummary_Naps
GarminSleepSummary_Naps
- Natural Key:
ParticipantID
+StartTimeInSeconds
+DurationInSeconds
+Validation
For a complete list of all the export file types possible, see the Garmin Export Overview.
Table of Contents
Data Fields
Field | Description |
---|---|
ParticipantID |
The stable, automatically generated, internal system identifier for this participant. Universally unique identifier (UUID). |
ParticipantIdentifier |
The identifier of the participant the activity summary is for. Can be used to cross reference with Participants. |
SummaryId |
Unique identifier for the summary. |
StartTimeInSeconds |
Start time of the activity in seconds since January 1, 1970, 00:00:00 UTC (Unix timestamp). |
StartTimeOffsetInSeconds |
Offset in seconds to add to startTimeInSeconds to derive the “local” time of the device that captured the data. |
DurationInSeconds |
Length of the sleep monitoring period in seconds (does not include awake or unmeasurable times). |
CalendarDate |
The calendar date this summary would be displayed on in Garmin Connect. The date format is ‘yyyy-mm-dd’. |
UnmeasurableSleepInSeconds |
Time in seconds that the sleep level of the user could not be measured. This may or may not correspond to off-wrist time. |
DeepSleepDurationInSeconds |
Time in seconds the user spent in deep sleep during the sleep period. |
LightSleepDurationInSeconds |
Time in seconds the user spent in light sleep during the sleep period. |
RemSleepInSeconds |
Time in seconds the user spent in REM sleep during the sleep period. |
AwakeDurationInSeconds |
Time in seconds the user spent awake during the sleep period. |
Validation |
String that relays the validation state of the sleep data and its date range. The data could be auto-confirmed, but the sleep window could have been manually adjusted, or the sleep data itself is entirely manually entered. Possible values: MANUAL: The user entered sleep start and stop times manually through a web form. There is no device data backing up the sleep assessment. DEVICE: The user used a device with the sleep feature to manually start and stop sleep. This type still requires manual user intervention to judge sleep start and stop. OFF_WRIST: Device did not have enough heart rate data to make calculations for sleep levels Map. (device was off or too loose). Only start and end sleep times will be provided. AUTO_TENTATIVE: The sleep start and stop times were auto-detected by Garmin Connect using accelerometer data. However, it is possible that further refinements to this sleep record will come later. This could be because the user is still asleep or could be because the user owns multiple devices and might sync another device later for this same time period. AUTO_FINAL: The sleep start and stop times were auto detected by Garmin Connect, and enough data has been gathered to finalize the window. This status also indicates that the user only has one device so this record can never be updated again – users that own multiple devices will never get an AUTO_FINAL. AUTO_MANUAL: Sleep data was auto-detected by Garmin Connect, but the user is overriding the start and stop times or the user started with a manual entry and the sleep was auto-detected later. Garmin Connect stores both but will display the manual start and stop times in favor of the auto-detected times. ENHANCED_TENTATIVE: Sleep data was collected from a device capable of running an enhanced sleep analysis to detect REM sleep, but an updated sleep summary record may come later with further refinements or a greater sleep period. ENHANCED_FINAL: Sleep data was collected from a device capable of running an enhanced sleep analysis to detect REM sleep, and no further updates or refinements to this sleep analysis are expected. |
OverallSleepScoreValue |
A map of overall sleep score, containing the quantitative value and the qualitative description of sleep. |
OverallSleepScoreQualifierKey |
A map of sleep score string descriptions for each type of sleep as well as restless periods and stress levels during sleep. Each entry in the sleepScores will have a qualifierKey value of EXCELLENT, GOOD, FAIR, or POOR that is used as a qualitative description of the user’s period of sleep. |
sleepLevelsMap |
A map of sleep level time ranges, currently deep, light, and awake. Time ranges are represented as unix timestamps in seconds. |
SleepScores |
A map of sleep score string descriptions for each type of sleep as well as restless periods and stress levels during sleep. Each entry in the sleepScores will have a qualifierKey value of EXCELLENT, GOOD, FAIR, or POOR that is used as a qualitative description of the user’s period of sleep. |
TotalNapDurationInSeconds |
Total time of nap duration for the monitoring period. |
Naps |
List of nap related information recorded by device. |
NapStartTimeInSeconds |
Start time of the activity in seconds since January 1, 1970, 00:00:00 UTC (Unix timestamp). |
NapOffsetInSeconds |
Offset in seconds to add to startTimeInSeconds to derive the “local” time of the device that captured the data. |
NapDurationInSeconds |
Total time of nap duration for the monitoring period in seconds. |
NapValidation |
String that relays the validation state of the sleep data and its date range. Possible values:
|
TimeOffsetSleepRespiration |
Collection of key-value pairs where the key is offset in seconds from the startTimeInSeconds and respiration measurement taken at that time. Respiration measurement is in breaths per minute. |
TimeOffsetSleepSpo2 |
A map of SpO2 readings, where the keys are the offsets in seconds from the startTimeInSeconds and the values are the SpO2 measurements at that time. Only present if the user’s device is SpO2-enabled. |
InsertedDate |
The creation date of the entry, in ISO 8601 format. Is always in UTC. |
Sample CSV Export
Garmin Sleep Summary
ParticipantID,ParticipantIdentifier,SummaryId,StartTimeInSeconds,StartTimeOffsetInSeconds,DurationInSeconds,CalendarDate,UnmeasurableSleepInSeconds,DeepSleepDurationInSeconds,LightSleepDurationInSeconds,RemSleepInSeconds,AwakeDurationInSeconds,Validation,OverallSleepScoreValue,OverallSleepScoreQualifierKey,InsertedDate,TotalNapDurationInSeconds
1be320d5-57fa-4860-8fa2-033b27038c4e,TST12345,x45e31a7-63ddd138-7d64,1675481400,-18000,32100,2023-02-04,0,3840,22980,5280,3060,ENHANCED_FINAL,80,GOOD,2023-02-05T16:01:26Z,5882
1be320d5-57fa-4860-8fa2-033b27038c4e,TST12345,x45e31a7-63afac7c-72d8,1672457340,-18000,29400,2022-12-31,0,4680,21480,3240,900,ENHANCED_FINAL,72,FAIR,2023-02-04T16:22:32Z,
...
1be320d5-57fa-4860-8fa2-033b27038c4e,TST12345,x45e31a7-63dc761c-8b38,1675392540,-18000,35640,2023-02-03,0,3600,25740,6300,960,ENHANCED_FINAL,81,GOOD,2023-02-04T16:22:32Z,
Garmin Sleep Summary Duration
SummaryId,StartTimeInSeconds,EndTimeInSeconds,SleepLevel,ParticipantID x45e31a7-63ddd138-7d64,1675482420,1675482780,deep,1be320d5-57fa-4860-8fa2-033b27038c4e x45e31a7-63ddd138-7d64,1675487460,1675490280,deep,1be320d5-57fa-4860-8fa2-033b27038c4e x45e31a7-63ddd138-7d64,1675495140,1675495800,deep,1be320d5-57fa-4860-8fa2-033b27038c4e ... x45e31a7-63dc761c-8b38,1675427580,1675428300,rem,1be320d5-57fa-4860-8fa2-033b27038c4e
Garmin Sleep Summary Samples
SummaryId,OffsetInSeconds,Value,SampleType,ParticipantID x45e31a7-63ddd138-7d64,60,15.6,Respiration,1be320d5-57fa-4860-8fa2-033b27038c4e x45e31a7-63ddd138-7d64,120,15.58,Respiration,1be320d5-57fa-4860-8fa2-033b27038c4e x45e31a7-63ddd138-7d64,180,15.43,Respiration,1be320d5-57fa-4860-8fa2-033b27038c4e ... x45e31a7-63dc761c-8b38,36540,12.84,Respiration,1be320d5-57fa-4860-8fa2-033b27038c4e
Garmin Sleep Scores
SummaryId,ScoreType,QualifierKey,ParticipantID
x45e31a7-63ddd138-7d64,totalDuration,FAIR,1be320d5-57fa-4860-8fa2-033b27038c4e
x45e31a7-63ddd138-7d64,stress,FAIR,1be320d5-57fa-4860-8fa2-033b27038c4e
x45e31a7-63ddd138-7d64,awakeCount,EXCELLENT,1be320d5-57fa-4860-8fa2-033b27038c4e
x45e31a7-63ddd138-7d64,remPercentage,FAIR,1be320d5-57fa-4860-8fa2-033b27038c4e
x45e31a7-63ddd138-7d64,restlessness,POOR,1be320d5-57fa-4860-8fa2-033b27038c4e
x45e31a7-63ddd138-7d64,lightPercentage,POOR,1be320d5-57fa-4860-8fa2-033b27038c4e
x45e31a7-63ddd138-7d64,deepPercentage,GOOD,1be320d5-57fa-4860-8fa2-033b27038c4e
Garmin Sleep Summary Naps
SummaryId,NapStartTimeInSeconds,NapOffsetInSeconds,NapDurationInSeconds,NapValidation,ParticipantID
x45e31a7-63ddd138-7d64,1703138400,-21600,994,MANUAL,1be320d5-57fa-4860-8fa2-033b27038c4e
x45e31a7-63ddd138-7d64,1703141283,-21600,2637,MANUAL,1be320d5-57fa-4860-8fa2-033b27038c4e
x45e31a7-63ddd138-7d64,1703144190,-21600,1441,MANUAL,1be320d5-57fa-4860-8fa2-033b27038c4e
Sample JSON Export
{ "CalendarDate": "2023-02-04", "StartTimeInSeconds": 1675481400, "StartTimeOffsetInSeconds": -18000, "DurationInSeconds": 32100, "TotalNapDurationInSeconds": 5882, "UnmeasurableSleepInSeconds": 0, "DeepSleepDurationInSeconds": 3840, "LightSleepDurationInSeconds": 22980, "RemSleepInSeconds": 5280, "AwakeDurationInSeconds": 3060, "SleepLevelsMap": { "deep": [ { "StartTimeInSeconds": 1675482420, "EndTimeInSeconds": 1675482780 }, { "StartTimeInSeconds": 1675487460, "EndTimeInSeconds": 1675490280 }, { "StartTimeInSeconds": 1675495140, "EndTimeInSeconds": 1675495800 } ], "light": [ { "StartTimeInSeconds": 1675481400, "EndTimeInSeconds": 1675482420 }, { "StartTimeInSeconds": 1675482780, "EndTimeInSeconds": 1675483860 }, { "StartTimeInSeconds": 1675486680, "EndTimeInSeconds": 1675487460 }, { "StartTimeInSeconds": 1675490280, "EndTimeInSeconds": 1675495140 }, { "StartTimeInSeconds": 1675495800, "EndTimeInSeconds": 1675504020 }, { "StartTimeInSeconds": 1675506720, "EndTimeInSeconds": 1675507380 }, { "StartTimeInSeconds": 1675507620, "EndTimeInSeconds": 1675511640 }, { "StartTimeInSeconds": 1675513080, "EndTimeInSeconds": 1675515420 } ], "awake": [ { "StartTimeInSeconds": 1675483860, "EndTimeInSeconds": 1675486680 }, { "StartTimeInSeconds": 1675507380, "EndTimeInSeconds": 1675507620 } ], "rem": [ { "StartTimeInSeconds": 1675504020, "EndTimeInSeconds": 1675506720 }, { "StartTimeInSeconds": 1675511640, "EndTimeInSeconds": 1675513080 }, { "StartTimeInSeconds": 1675515420, "EndTimeInSeconds": 1675516560 } ] }, "Validation": "ENHANCED_FINAL", "TimeOffsetSleepRespiration": { "60": 15.6, "120": 15.58, "180": 15.43, ... "35160": 13.85 }, "TimeOffsetSleepSpo2": {}, "OverallSleepScore": { "Value": 80, "QualifierKey": "GOOD" }, "SleepScores": { "totalDuration": { "QualifierKey": "EXCELLENT" }, "stress": { "QualifierKey": "FAIR" }, "awakeCount": { "QualifierKey": "FAIR" }, "remPercentage": { "QualifierKey": "FAIR" }, "restlessness": { "QualifierKey": "FAIR" }, "lightPercentage": { "QualifierKey": "FAIR" }, "deepPercentage": { "QualifierKey": "FAIR" } }, "Naps": [ { "NapStartTimeInSeconds": 1703121171, "NapOffsetInSeconds": -21600, "NapDurationInSeconds": 2412, "NapValidation": "MANUAL" }, { "NapStartTimeInSeconds": 1703124047, "NapOffsetInSeconds": -21600, "NapDurationInSeconds": 2550, "NapValidation": "DEVICE" }, { "NapStartTimeInSeconds": 1703126963, "NapOffsetInSeconds": -21600, "NapDurationInSeconds": 920, "NapValidation": "DEVICE" } ], "ParticipantID": "b728e3e8-1e97-453c-a3a5-5f4a1e5ce687", "ParticipantIdentifier": "TST12345", "SummaryId": "x45e31a7-63ddd138-7d64", "InsertedDate": "2023-02-05T16:01:26" } ...
Was this article helpful?