Sleep
Sleep Cycle
Meal
Workouts
Profile
Activity
Body
Menstrual Cycle
Electrocardiogram
Vitals Timeseries
Activity Timeseries
Wellness Timeseries
Diary Timeseries
Nutrition Timeseries
Summary
Get sleep summary for user_id
Authorizations
Vital Team API Key
Path Parameters
Query Parameters
Provider oura/strava etc
Date from in YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 00:00:00
Date to YYYY-MM-DD or ISO formatted date time. If a date is provided without a time, the time will be set to 23:59:59
Response
Total amount of awake time registered during the sleep period::seconds
UTC Time when the sleep period started
UTC Time when the sleep period ended
Date of the sleep summary in the YYYY-mm-dd format. This generally matches the sleep end date.
Date of the specified record, formatted as ISO8601 datetime string in UTC 00:00. Deprecated in favour of calendar_date.
Total amount of deep (N3) sleep registered during the sleep period::seconds
Total duration of the sleep period (sleep.duration = sleep.bedtime_end - sleep.bedtime_start)::seconds
Total amount of light sleep registered during the sleep period::seconds
Total amount of REM sleep registered during the sleep period, minutes::seconds
Source the data has come from.
Provider slug. e.g., oura
, fitbit
, garmin
.
The identifier of the app which recorded this summary. This is only applicable to multi-source providers like Apple Health and Android Health Connect.
Deprecated. Subject to removal after 1 Jan 2024.
Deprecated. Subject to removal after 1 Jan 2024.
Deprecated. Use provider
instead. Subject to removal after 1 Jan 2024.
The type of the data source (app or device) by which the summary or the timeseries data were recorded. This defaults to unknown
when Vital cannot extract or infer that information
Total amount of sleep registered during the sleep period (sleep.total = sleep.rem + sleep.light + sleep.deep)::seconds
long_sleep
: >=3 hours of sleep;
short_sleep
: <3 hours of sleep;
acknowledged_nap
: User-acknowledged naps, typically under 3 hours of sleep;
unknown
: The sleep session recording is ongoing.
long_sleep
, short_sleep
, acknowledged_nap
, unknown
User id returned by vital create user request. This id should be stored in your database against the user and used for all interactions with the vital api.
The average heart rate variability registered during the sleep period::rmssd
Sleep efficiency is the percentage of the sleep period spent asleep (100% * sleep.total / sleep.duration)::perc
The average heart rate registered during the sleep period::beats per minute
Sleeping Heart Rate Dip is the percentage difference between your average waking heart rate and your average sleeping heart rate. In health studies, a greater "dip" is typically seen as a positive indicator of overall health. Currently only available for Garmin::perc
The lowest heart rate (5 minutes sliding average) registered during the sleep period::beats per minute
Detected latency from bedtime_start to the beginning of the first five minutes of persistent sleep::seconds
Average respiratory rate::breaths per minute
A value between 1 and 100 representing how well the user slept. Currently only available for Withings, Oura, Whoop and Garmin::scalar
The skin temperature::celcius
The timestamp of the measurement.
Measured in bpm.
Heart rate in bpm
Deprecated
Time zone UTC offset in seconds. Positive offset indicates east of UTC; negative offset indicates west of UTC; and null indicates the time zone information is unavailable at source.
The reading type of the measurement. This is applicable only to Cholesterol, IGG, IGE and InsulinInjection.
The timestamp of the measurement.
Measured in rmssd.
HRV calculated using rmssd during sleep
Deprecated
Time zone UTC offset in seconds. Positive offset indicates east of UTC; negative offset indicates west of UTC; and null indicates the time zone information is unavailable at source.
The reading type of the measurement. This is applicable only to Cholesterol, IGG, IGE and InsulinInjection.
The end time (exclusive) of the interval.
The start time (inclusive) of the interval.
Depracated. The start time (inclusive) of the interval.
enum: 1: deep, 2: light, 3: rem, 4: awake, -1: missing_data.
Hypnogram for sleep stages {"deep": 1, "light": 2, "rem": 3, "awake": 4, "manual": 5, "missing_data": -1}
Deprecated
Time zone UTC offset in seconds. Positive offset indicates east of UTC; negative offset indicates west of UTC; and null indicates the time zone information is unavailable at source.
The reading type of the measurement. This is applicable only to Cholesterol, IGG, IGE and InsulinInjection.
The timestamp of the measurement.
Measured in bpm.
Average respiratory rate::breaths per minute
Deprecated
Time zone UTC offset in seconds. Positive offset indicates east of UTC; negative offset indicates west of UTC; and null indicates the time zone information is unavailable at source.
The reading type of the measurement. This is applicable only to Cholesterol, IGG, IGE and InsulinInjection.
Some providers can provide updates to the sleep summary hours after the sleep period has ended. This field indicates the state of the sleep summary. For example, TENTATIVE means the summary is an intial prediction from the provider and can be subject to change. Currently only available for Garmin and EightSleep::str
tentative
, confirmed
Skin temperature deviation from the long-term temperature average::celcius
Timezone offset from UTC as seconds. For example, EEST (Eastern European Summer Time, +3h) is 10800. PST (Pacific Standard Time, -8h) is -28800::seconds