addedOutput schema / $defs
Added value: +{
+ "ActivitySummary": {
+ "properties": {
+ "activity_id": {
+ "title": "Activity Id",
+ "type": "integer"
+ },
+ "activity_training_load": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Activity Training Load"
+ },
+ "activity_type": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Activity Type"
+ },
+ "aerobic_training_effect": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Aerobic Training Effect"
+ },
+ "anaerobic_training_effect": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Anaerobic Training Effect"
+ },
+ "average_cadence": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Cadence"
+ },
+ "average_hr_bpm": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Hr Bpm"
+ },
+ "average_moving_speed_mps": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Moving Speed Mps"
+ },
+ "average_power_w": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Power W"
+ },
+ "average_respiration": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Respiration"
+ },
+ "average_speed_mps": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Speed Mps"
+ },
+ "average_stride_length_m": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Stride Length M"
+ },
+ "calories_kcal": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Calories Kcal"
+ },
+ "description": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Description"
+ },
+ "distance_m": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Distance M"
+ },
+ "duration_seconds": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Duration Seconds"
+ },
+ "elapsed_seconds": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Elapsed Seconds"
+ },
+ "elevation_gain_m": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Elevation Gain M"
+ },
+ "elevation_loss_m": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Elevation Loss M"
+ },
+ "feel": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Feel"
+ },
+ "has_description": {
+ "anyOf": [
+ {
+ "type": "boolean"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Has Description"
+ },
+ "highest_respiration": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Highest Respiration"
+ },
+ "hr_zones_seconds": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Hr Zones Seconds"
+ },
+ "intensity_factor": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Intensity Factor"
+ },
+ "lowest_respiration": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Lowest Respiration"
+ },
+ "max_cadence": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Max Cadence"
+ },
+ "max_hr_bpm": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Max Hr Bpm"
+ },
+ "max_power_w": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Max Power W"
+ },
+ "moderate_intensity_minutes": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Moderate Intensity Minutes"
+ },
+ "moving_duration_seconds": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Moving Duration Seconds"
+ },
+ "name": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Name"
+ },
+ "normalized_power_w": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Normalized Power W"
+ },
+ "perceived_effort": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Perceived Effort"
+ },
+ "recovery_hr_bpm": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Recovery Hr Bpm"
+ },
+ "start_time": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Activity start: ISO 8601 with an explicit UTC offset, e.g. 2026-10-09T23:18:16+02:00. The wall time is already local; never add the offset again. The offset is the one Garmin recorded for the device at that moment, or this computer's time zone when Garmin gives only UTC.",
+ "title": "Start Time"
+ },
+ "steps": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Steps"
+ },
+ "training_effect_label": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Training Effect Label"
+ },
+ "training_stress_score": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Training Stress Score"
+ },
+ "vigorous_intensity_minutes": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Vigorous Intensity Minutes"
+ },
+ "vo2_max": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Vo2 Max"
+ }
+ },
+ "required": [
+ "activity_id"
+ ],
+ "title": "ActivitySummary",
+ "type": "object"
+ },
+ "AvailabilityNotice": {
+ "properties": {
+ "field": {
+ "title": "Field",
+ "type": "string"
+ },
+ "message": {
+ "title": "Message",
+ "type": "string"
+ },
+ "status": {
+ "title": "Status",
+ "type": "string"
+ }
+ },
+ "required": [
+ "field",
+ "status",
+ "message"
+ ],
+ "title": "AvailabilityNotice",
+ "type": "object"
+ },
+ "DailySummary": {
+ "properties": {
+ "active_calories_kcal": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Active Calories Kcal"
+ },
+ "active_seconds": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Active Seconds"
+ },
+ "average_spo2_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Spo2 Percent"
+ },
+ "average_stress": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Stress"
+ },
+ "average_waking_respiration": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Waking Respiration"
+ },
+ "body_battery_at_wake": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Body Battery At Wake"
+ },
+ "body_battery_charged": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Body Battery Charged"
+ },
+ "body_battery_drained": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Body Battery Drained"
+ },
+ "body_battery_during_sleep": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Body Battery During Sleep"
+ },
+ "daily_step_goal": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Daily Step Goal"
+ },
+ "date": {
+ "title": "Date",
+ "type": "string"
+ },
+ "distance_m": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Distance M"
+ },
+ "floors_ascended": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Floors Ascended"
+ },
+ "floors_descended": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Floors Descended"
+ },
+ "floors_unit": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Floors Unit"
+ },
+ "highest_respiration": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Highest Respiration"
+ },
+ "highly_active_seconds": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Highly Active Seconds"
+ },
+ "intensity_minutes_goal": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Intensity Minutes Goal"
+ },
+ "last_seven_days_avg_resting_hr_bpm": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Last Seven Days Avg Resting Hr Bpm"
+ },
+ "lowest_respiration": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Lowest Respiration"
+ },
+ "lowest_spo2_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Lowest Spo2 Percent"
+ },
+ "max_hr_bpm": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Max Hr Bpm"
+ },
+ "max_stress": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Max Stress"
+ },
+ "min_hr_bpm": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Min Hr Bpm"
+ },
+ "moderate_intensity_minutes": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Moderate Intensity Minutes"
+ },
+ "resting_hr_bpm": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Resting Hr Bpm"
+ },
+ "sedentary_seconds": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Sedentary Seconds"
+ },
+ "steps": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Steps"
+ },
+ "total_calories_kcal": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Total Calories Kcal"
+ },
+ "vigorous_intensity_minutes": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Vigorous Intensity Minutes"
+ }
+ },
+ "required": [
+ "date"
+ ],
+ "title": "DailySummary",
+ "type": "object"
+ },
+ "HrvSummary": {
+ "properties": {
+ "availability": {
+ "items": {
+ "$ref": "#/$defs/AvailabilityNotice"
+ },
+ "title": "Availability",
+ "type": "array"
+ },
+ "baseline_high_ms": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Baseline High Ms"
+ },
+ "baseline_low_ms": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Baseline Low Ms"
+ },
+ "date": {
+ "title": "Date",
+ "type": "string"
+ },
+ "last_night_average_ms": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Last Night Average Ms"
+ },
+ "nightly_average_ms": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Nightly Average Ms"
+ },
+ "status": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Status"
+ },
+ "timeseries": {
+ "anyOf": [
+ {
+ "items": {
+ "$ref": "#/$defs/TimePoint"
+ },
+ "type": "array"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Timeseries"
+ },
+ "weekly_average_ms": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Weekly Average Ms"
+ }
+ },
+ "required": [
+ "date"
+ ],
+ "title": "HrvSummary",
+ "type": "object"
+ },
+ "SleepSummary": {
+ "properties": {
+ "availability": {
+ "items": {
+ "$ref": "#/$defs/AvailabilityNotice"
+ },
+ "title": "Availability",
+ "type": "array"
+ },
+ "average_hr_bpm": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Hr Bpm"
+ },
+ "average_respiration": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Respiration"
+ },
+ "average_spo2_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Spo2 Percent"
+ },
+ "average_stress": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Garmin's average stress during sleep, to one decimal. A different metric from the whole-day average_stress of get_stress and get_daily_summary.",
+ "title": "Average Stress"
+ },
+ "awake_count": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Awake Count"
+ },
+ "awake_seconds": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Awake Seconds"
+ },
+ "body_battery_change": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Body Battery Change"
+ },
+ "date": {
+ "title": "Date",
+ "type": "string"
+ },
+ "deep_sleep_seconds": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Deep Sleep Seconds"
+ },
+ "highest_respiration": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Highest Respiration"
+ },
+ "light_sleep_seconds": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Light Sleep Seconds"
+ },
+ "lowest_respiration": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Lowest Respiration"
+ },
+ "lowest_spo2_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Lowest Spo2 Percent"
+ },
+ "nap_seconds": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Nap Seconds"
+ },
+ "rem_sleep_seconds": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Rem Sleep Seconds"
+ },
+ "restless_moments_count": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Restless Moments Count"
+ },
+ "skin_temperature_basis": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Skin Temperature Basis"
+ },
+ "skin_temperature_calibration_days": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Skin Temperature Calibration Days"
+ },
+ "skin_temperature_deviation_c": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Skin Temperature Deviation C"
+ },
+ "sleep_alignment_status": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Sleep Alignment Status"
+ },
+ "sleep_end": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Sleep end: ISO 8601 with an explicit UTC offset, e.g. 2026-10-09T23:18:16+02:00. The wall time is already local; never add the offset again. The offset is the one Garmin recorded for the device at that moment, or this computer's time zone when Garmin gives only UTC.",
+ "title": "Sleep End"
+ },
+ "sleep_need_baseline_minutes": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Sleep Need Baseline Minutes"
+ },
+ "sleep_need_feedback": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Sleep Need Feedback"
+ },
+ "sleep_need_minutes": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Sleep Need Minutes"
+ },
+ "sleep_score": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Sleep Score"
+ },
+ "sleep_score_feedback": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Sleep Score Feedback"
+ },
+ "sleep_start": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Sleep start: ISO 8601 with an explicit UTC offset, e.g. 2026-10-09T23:18:16+02:00. The wall time is already local; never add the offset again. The offset is the one Garmin recorded for the device at that moment, or this computer's time zone when Garmin gives only UTC.",
+ "title": "Sleep Start"
+ },
+ "total_sleep_seconds": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Total Sleep Seconds"
+ }
+ },
+ "required": [
+ "date"
+ ],
+ "title": "SleepSummary",
+ "type": "object"
+ },
+ "TimePoint": {
+ "properties": {
+ "timestamp": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ],
+ "description": "Reading time: ISO 8601 with an explicit UTC offset, e.g. 2026-10-09T23:18:16+02:00. The wall time is already local; never add the offset again. The offset is the one Garmin recorded for the device at that moment, or this computer's time zone when Garmin gives only UTC. A bare date or number is a Garmin value that could not be parsed as a time.",
+ "title": "Timestamp"
+ },
+ "value": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "integer"
+ }
+ ],
+ "title": "Value"
+ }
+ },
+ "required": [
+ "timestamp",
+ "value"
+ ],
+ "title": "TimePoint",
+ "type": "object"
+ },
+ "TrainingLoad": {
+ "properties": {
+ "acute_load": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Acute Load"
+ },
+ "acwr_feedback": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Acwr Feedback"
+ },
+ "acwr_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Acwr Percent"
+ },
+ "acwr_status": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Acwr Status"
+ },
+ "altitude_acclimation_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Altitude Acclimation Percent"
+ },
+ "anaerobic_load": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Anaerobic Load"
+ },
+ "anaerobic_target_max": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Anaerobic Target Max"
+ },
+ "anaerobic_target_min": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Anaerobic Target Min"
+ },
+ "availability": {
+ "items": {
+ "$ref": "#/$defs/AvailabilityNotice"
+ },
+ "title": "Availability",
+ "type": "array"
+ },
+ "chronic_load": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Chronic Load"
+ },
+ "date": {
+ "title": "Date",
+ "type": "string"
+ },
+ "endurance_score": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Endurance Score"
+ },
+ "heat_acclimation_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Heat Acclimation Percent"
+ },
+ "high_aerobic_load": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "High Aerobic Load"
+ },
+ "high_aerobic_target_max": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "High Aerobic Target Max"
+ },
+ "high_aerobic_target_min": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "High Aerobic Target Min"
+ },
+ "hill_score": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Hill Score"
+ },
+ "load_focus_feedback": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Load Focus Feedback"
+ },
+ "load_ratio": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Load Ratio"
+ },
+ "low_aerobic_load": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Low Aerobic Load"
+ },
+ "low_aerobic_target_max": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Low Aerobic Target Max"
+ },
+ "low_aerobic_target_min": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Low Aerobic Target Min"
+ },
+ "optimal_load_max": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Optimal Load Max"
+ },
+ "optimal_load_min": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Optimal Load Min"
+ },
+ "training_status": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Training Status"
+ },
+ "training_status_code": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Training Status Code"
+ },
+ "vo2_max": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Vo2 Max"
+ },
+ "weekly_load": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Weekly Load"
+ }
+ },
+ "required": [
+ "date"
+ ],
+ "title": "TrainingLoad",
+ "type": "object"
+ },
+ "TrainingReadiness": {
+ "properties": {
+ "acute_load_factor_feedback": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Acute Load Factor Feedback"
+ },
+ "acute_load_factor_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Acute Load Factor Percent"
+ },
+ "availability": {
+ "items": {
+ "$ref": "#/$defs/AvailabilityNotice"
+ },
+ "title": "Availability",
+ "type": "array"
+ },
+ "date": {
+ "title": "Date",
+ "type": "string"
+ },
+ "feedback": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Feedback"
+ },
+ "hrv_factor_feedback": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Hrv Factor Feedback"
+ },
+ "hrv_factor_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Hrv Factor Percent"
+ },
+ "level": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Level"
+ },
+ "recovery_time_change_phrase": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Recovery Time Change Phrase"
+ },
+ "recovery_time_factor_feedback": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Recovery Time Factor Feedback"
+ },
+ "recovery_time_hours": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Garmin's remaining recovery time in hours, to one decimal.",
+ "title": "Recovery Time Hours"
+ },
+ "score": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Score"
+ },
+ "sleep_history_factor_feedback": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Sleep History Factor Feedback"
+ },
+ "sleep_history_factor_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Sleep History Factor Percent"
+ },
+ "sleep_score": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Sleep Score"
+ },
+ "sleep_score_factor_feedback": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Sleep Score Factor Feedback"
+ },
+ "stress_history_factor_feedback": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Stress History Factor Feedback"
+ },
+ "stress_history_factor_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Stress History Factor Percent"
+ },
+ "timestamp": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "When Garmin calculated this readiness: ISO 8601 with an explicit UTC offset, e.g. 2026-10-09T23:18:16+02:00. The wall time is already local; never add the offset again. The offset is the one Garmin recorded for the device at that moment, or this computer's time zone when Garmin gives only UTC.",
+ "title": "Timestamp"
+ }
+ },
+ "required": [
+ "date"
+ ],
+ "title": "TrainingReadiness",
+ "type": "object"
+ },
+ "TrendMetric": {
+ "properties": {
+ "baseline_end": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Baseline End"
+ },
+ "baseline_start": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Baseline Start"
+ },
+ "calculation": {
+ "default": "Current date compared with the mean of available preceding days.",
+ "title": "Calculation",
+ "type": "string"
+ },
+ "current": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Current"
+ },
+ "current_date": {
+ "title": "Current Date",
+ "type": "string"
+ },
+ "difference": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Difference"
+ },
+ "metric": {
+ "title": "Metric",
+ "type": "string"
+ },
+ "percent_difference": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Percent Difference"
+ },
+ "recent_average": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Recent Average"
+ },
+ "sample_days": {
+ "default": 0,
+ "title": "Sample Days",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "metric",
+ "current_date"
+ ],
+ "title": "TrendMetric",
+ "type": "object"
+ }
+}