addedOutput schema / $defs
Added value: +{
+ "ActivityDetail": {
+ "properties": {
+ "activity_duration_seconds": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Activity Duration Seconds"
+ },
+ "availability": {
+ "items": {
+ "$ref": "#/$defs/AvailabilityNotice"
+ },
+ "title": "Availability",
+ "type": "array"
+ },
+ "hr_zone_coverage_percent": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Hr Zone Coverage Percent"
+ },
+ "hr_zone_floors_bpm": {
+ "anyOf": [
+ {
+ "additionalProperties": {
+ "type": "integer"
+ },
+ "type": "object"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Lower bound in bpm of each HR zone as Garmin applied it to this activity. Garmin keeps no history of max HR or zone settings, so these per-activity floors are the only record of what the zones were at the time.",
+ "title": "Hr Zone Floors Bpm"
+ },
+ "hr_zones_seconds": {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "title": "Hr Zones Seconds",
+ "type": "object"
+ },
+ "hr_zones_total_seconds": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Hr Zones Total Seconds"
+ },
+ "laps": {
+ "items": {
+ "$ref": "#/$defs/ActivityLap"
+ },
+ "title": "Laps",
+ "type": "array"
+ },
+ "power_zones_seconds": {
+ "additionalProperties": {
+ "type": "number"
+ },
+ "title": "Power Zones Seconds",
+ "type": "object"
+ },
+ "summary": {
+ "$ref": "#/$defs/ActivitySummary"
+ },
+ "training_effect_aerobic": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Training Effect Aerobic"
+ },
+ "training_effect_anaerobic": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Training Effect Anaerobic"
+ },
+ "training_effect_label": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Training Effect Label"
+ }
+ },
+ "required": [
+ "summary"
+ ],
+ "title": "ActivityDetail",
+ "type": "object"
+ },
+ "ActivityLap": {
+ "properties": {
+ "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_power_w": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Average Power W"
+ },
+ "distance_m": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Distance M"
+ },
+ "duration_seconds": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Duration Seconds"
+ },
+ "lap_index": {
+ "anyOf": [
+ {
+ "type": "integer"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Lap Index"
+ },
+ "max_hr_bpm": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Max Hr Bpm"
+ },
+ "start_time": {
+ "anyOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "description": "Lap 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"
+ }
+ },
+ "title": "ActivityLap",
+ "type": "object"
+ },
+ "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"
+ },
+ "ComparisonDelta": {
+ "properties": {
+ "calculation": {
+ "default": "Range is max - min over the activities that reported the metric.",
+ "title": "Calculation",
+ "type": "string"
+ },
+ "compared_activity_count": {
+ "default": 0,
+ "title": "Compared Activity Count",
+ "type": "integer"
+ },
+ "metric": {
+ "title": "Metric",
+ "type": "string"
+ },
+ "missing_activity_count": {
+ "default": 0,
+ "title": "Missing Activity Count",
+ "type": "integer"
+ },
+ "range": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ],
+ "default": null,
+ "title": "Range"
+ },
+ "values": {
+ "additionalProperties": {
+ "anyOf": [
+ {
+ "type": "number"
+ },
+ {
+ "type": "null"
+ }
+ ]
+ },
+ "title": "Values",
+ "type": "object"
+ }
+ },
+ "required": [
+ "metric",
+ "values"
+ ],
+ "title": "ComparisonDelta",
+ "type": "object"
+ }
+}