sleep_efficiency
summary field does not imply that there is a corresponding sleep_efficiency
timeseries.glucose
summary field.Granularity | Resources |
---|---|
Daily | activity |
Session | sleep , sleep_cycle , workouts , body , meal , menstrual_cycle , electrocardiogram , workout_stream |
Single | profile |
Category | Resources |
---|---|
Cardiorespiratory | respiratory_rate |
Vitals | blood_oxygen , blood_pressure , glucose , heartrate , hrv , electrocardiogram_voltage |
Wellness | stress_level |
Body | fat , weight |
[start, end[
).
Category | Resources |
---|---|
Activity | calories_active , calories_basal , distance , floors_climbed , steps , workout_duration , fall , wheelchair_push , stand_duration , stand_hour |
Body | body_temperature , body_temperature_delta , insulin_injection , waist_circumference , body_mass_index , lean_body_mass , basal_body_temperature |
Vitals | afib_burden , heart_rate_alert , forced_expiratory_volume_1 , forced_vital_capacity , peak_expiratory_flow_rate , inhaler_usage , heart_rate_recovery_one_minute |
Cardiorespiratory | vo2_max |
Nutrition | carbohydrates , caffeine , water |
Wellness | mindfulness_minutes , sleep_apnea_alert , sleep_breathing_disturbance , uv_exposure , daylight_exposure , handwashing |
Workout Stream | workout_distance , workout_swimming_stroke |
Diary | note |
Peak rate | Example Scenario |
---|---|
1 sample every 3 seconds | Apple Watch workouts |
1 sample every 15 seconds | Garmin |
1 sample every 1-15 minute | Apple Watch, Fitbit |
Resource | Events | Notable Providers |
---|---|---|
heartrate | daily.data.heartrate.* | Apple, Fitbit, Garmin |
calories_active | daily.data.calories_active.* | Apple, Fitbit, Garmin |
Peak rate | Example Scenario |
---|---|
1 sample every 1 minute | Fitbit Intraday timeseries data |
1 sample every 15 minutes | Garmin all-day activity timeseries data (“epochs”) |
Resource | Events | Notable Providers |
---|---|---|
steps | daily.data.steps.* | Apple, Fitbit, Garmin |
calories_basal | daily.data.calories_basal.* | Apple |
distance | daily.data.distance.* | Apple, Fitbit, Garmin |
glucose | daily.data.glucose.* | LibreView, Dexcom |
stress_level | daily.data.stress_level.* | Garmin |
hrv | daily.data.hrv.* | Garmin, Fitbit |
respiratory_rate | daily.data.respiratory_rate.* | Garmin, Fitbit |
blood_oxygen | daily.data.blood_oxygen.* | Fitbit |
daylight_exposure | daily.data.daylight_exposure.* | Apple |
stand_duration | daily.data.stand_duration.* | Apple |
Peak rate | Example Scenario |
---|---|
1 sample every day | Apple Watch wrist temperature delta |
1 sample every 15 minutes | Garmin all-day activity timeseries data (“epochs”) |
Unpredictable / Never | Heart Rate Alerts, Sleep Apnea Alerts |
/summary/<resource>/<user_id>
API, while everything else via /timeseries/<user_id>/<resource>
.Workouts
is made up of fields specific to an workout, like calories, distance and duration. When you make a request to /summary/workouts/<user_id>
you get the following fields:
Heartrate
on the other hand, is a timeseries resources. You can fetch it via timeseries/<user_id>/heartrate
and looks like this:
Glucose
as a resource.
Workouts
, yet the former doesn’t have ele_high
nor ele_low
.
*
means that Vital calculates the field’s value. In some cases, they might came as null
, since we weren’t able to make the calculation.