tp_update_workout
Update existing TrainingPeaks workouts by merging changed fields such as intervals, title, date, or comments, then saving the result.
Instructions
Update fields of an existing workout. Supports the same simplified interval structure format as tp_create_workout plus an optional native structured_workout payload, then fetches existing, merges, and saves.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| rpe | No | Rating of perceived exertion (RPE), 0-10. | |
| date | No | YYYY-MM-DD or YYYY-MM-DDTHH:MM:SS | |
| tags | No | ||
| sport | No | ||
| title | No | ||
| athlete | No | Target athlete name or ID (coach accounts only). Omit to use your own profile. | |
| feeling | No | TrainingPeaks feeling value (0-10). | |
| is_hidden | No | Whether to hide the workout | |
| structure | No | Interval structure as a JSON object or string. Format: {"steps": [...], "primaryIntensityMetric": "percentOfFtp"|"percentOfThresholdHr"|"percentOfThresholdPace"}. Each step is either a single interval or a repetition block. SINGLE STEP: {"name": "Endurance", "duration_seconds": 1200, "intensity_min": 65, "intensity_max": 75, "intensityClass": "active"}. REPETITION BLOCK: {"type": "repetition", "reps": 5, "steps": [{"name": "VO2max", "duration_seconds": 180, "intensity_min": 106, "intensity_max": 120, "intensityClass": "active"}, {"name": "Spin", "duration_seconds": 180, "intensity_min": 40, "intensity_max": 50, "intensityClass": "rest"}]}. FOR MULTIPLE SETS separated by longer recovery, alternate repetition blocks with single rest steps: [{"type": "repetition", "reps": 4, "steps": [...]}, {"name": "Block Recovery", "duration_seconds": 600, "intensity_min": 45, "intensity_max": 55, "intensityClass": "rest"}, {"type": "repetition", "reps": 4, "steps": [...]}]. intensityClass values: warmUp, active (work intervals), rest (all recovery), coolDown, other. Intensity values are % of threshold (FTP/HR/pace). Optional per-step: cadence_min, cadence_max (rpm). | |
| subtype_id | No | ||
| workout_id | Yes | Workout ID | |
| description | No | ||
| distance_km | No | ||
| tss_planned | No | ||
| coach_comment | No | ||
| athlete_comment | No | ||
| duration_minutes | No | ||
| structured_workout | No | Native TrainingPeaks structured workout payload in builder format. Use this only when you already have a TP structure object with keys like structure, polyline, primaryLengthMetric, primaryIntensityMetric, and primaryIntensityTargetOrRange. |