Oops I didn’t realise I got rid of those fields. They aren’t supposed to be there actually and sometimes would have been missing. The “ftp” one is good and is chosen from the athlete’s settings for indoor/outdoor workouts.
I have added “sportSettings” which gives you all of the athletes zones etc… I have also restored “zoneTimes”. Note that this has different format for power and HR/Pace workouts. The power one includes extra fields for legacy reasons. They will probably go away. Just use “id” and “secs”.
An athlete can configure how they would like to do workouts in /settings:
So for me if a workout has power and HR and it gets uploaded to my Garmin the power targets will be used. The “target” field is what was chosen after applying this setting and looking at the workout.
“hide power” is a flag for Zwift that disables the average power display during the workout. It can be set in the workout editor.
The powerRange etc. parameters are based on these settings for Suunto/Garmin:
Except that they are always applied regardless of indoor/outdoor.
Here is an HR example:
{
"description": "Easy toddle around the block.",
"duration": 3150,
"sportSettings": {
"id": 56086,
"athlete_id": "2060784",
"types": [
"Run",
"VirtualRun"
],
"warmup_time": 1200,
"cooldown_time": 600,
"use_laps_for_power_intervals": false,
"lthr": 178,
"max_hr": 192,
"hr_zones": [
147,
156,
165,
174,
179,
184,
192
],
"hr_zone_names": [
"Recovery",
"Aerobic",
"Tempo",
"SubThreshold",
"SuperThreshold",
"Aerobic Capacity",
"Anaerobic"
],
"hr_load_type": "HRSS",
"threshold_pace": 2.7777777,
"pace_units": "MINS_KM",
"pace_zones": [
77.5,
87.7,
94.3,
100.0,
103.4,
111.5,
999.0
],
"pace_zone_names": [
"Zone 1",
"Zone 2",
"Zone 3",
"Zone 4",
"Zone 5a",
"Zone 5b",
"Zone 5c"
],
"pace_load_type": "RUN",
"gap_model": "STRAVA_RUN",
"elevation_correction": "AUTO",
"use_gap_zone_times": true,
"load_order": "POWER_PACE_HR",
"tiz_order": "POWER_HR_PACE",
"workout_order": "POWER_HR_PACE",
"default_gear_id": "g152587",
"other": false,
"eFTPSupported": false,
"use_distance_for_intervals": false
},
"target": "PACE",
"steps": [
{
"duration": 3150,
"distance": 7000.0,
"pace": {
"value": 80.0,
"units": "%pace"
},
"_pace": {
"value": 2.222222089767456,
"start": 2.1666665375232697,
"end": 2.2777776420116425
}
}
],
"zoneTimes": [
{
"id": "Z1",
"secs": 0
},
{
"id": "Z2",
"secs": 3150
},
{
"id": "Z3",
"secs": 0
},
{
"id": "Z4",
"secs": 0
},
{
"id": "Z5",
"secs": 0
},
{
"id": "Z6",
"secs": 0
},
{
"id": "Z7",
"secs": 0
}
],
"options": {}
}