icu_update_sport_settings
Update an athlete's sport thresholds and zones—FTP, FTHR, pace, swim, and explicit HR/power zones—so new lab or field values apply to future training; past activities keep original zones.
Instructions
Update sport settings: FTP, FTHR, pace/swim thresholds, or explicit HR/power zones.
Explicit zones replace the threshold-derived ones (e.g. to match a lab test). Changes apply from now on; past activities keep the zones they were analysed with.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| ftp | No | Functional Threshold Power in watts (for cycling) | |
| fthr | No | Functional Threshold Heart Rate in bpm | |
| max_hr | No | Max HR in bpm. Optional with hr_zones (taken from the last bound); if sent, it must equal that bound | |
| hr_zones | No | Explicit HR zone upper bounds in bpm, strictly increasing (e.g. lab VT1/VT2). The last bound is the max HR: Intervals.icu sets max_hr to it | |
| sport_id | Yes | ID of the sport settings to update | |
| athlete_id | No | Athlete ID (for coaches managing multiple athletes) | |
| indoor_ftp | No | Indoor Functional Threshold Power in watts (for cycling) | |
| hr_zone_names | No | One name per hr_zones bound | |
| pace_threshold | No | Threshold pace in min/km (e.g., 4.5 for 4:30/km) | |
| sweet_spot_max | No | Sweet spot upper bound, % of FTP | |
| sweet_spot_min | No | Sweet spot lower bound, % of FTP | |
| swim_threshold | No | Swim threshold in min/100m (e.g., 1.5 for 1:30/100m) | |
| recalc_hr_zones | No | Rescale HR zones when fthr changes. Explicit lab zones are rescaled too; pass false to keep them. Zones sent in the same call are kept either way | |
| power_zone_names | No | One name per power_zones_percent_ftp bound | |
| power_zones_percent_ftp | No | Explicit power zone upper bounds as % of FTP (not watts), strictly increasing, each <= 200; a final 999 makes the top zone open-ended |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |