Skip to content
  • There are no suggestions because the search field is empty.

Garmin Sleep Summary Export Format

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: GarminSleepSummary
  • Duration File Prefix (For CSV format): GarminSleepSummary_Duration
  • Sample File Prefix (For CSV format): GarminSleepSummary_Samples
  • Sleep Scores File Prefix (For CSV format): GarminSleepSummary_Score
  • Naps File Prefix (For CSV format): GarminSleepSummary_Naps
  • Natural Key: ParticipantID+ StartTimeInSeconds+DurationInSeconds +Validation

For a complete list of all the export file types possible, see the Garmin Export Overview.

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 An quantitative value score of the sleep period, from 0-100.
OverallSleepScoreQualifierKey

A qualitative description of the overall sleep period, based on the score. Possible values are EXCELLENT, GOOD, FAIR, or POOR.

Excellent: 90-100
Good: 80-89
Fair: 60-79
Poor: Below 60

sleepLevelsMap A map of sleep level time ranges, currently deep, light, REM 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 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:

  • Manual: The user entered sleep start and stop times manually through a web form or mobile app. There is no device data backing up the sleep assessment.

  • Device or Auto: The user used a device with the nap tracking and device detected nap period.
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 Summary Score

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"
}
...