icu_update_event
Update existing Intervals.icu calendar events by passing only changed fields, including workout syntax, training load, and schedule details.
Instructions
Update an existing calendar event.
Only fields you pass are sent — other fields remain unchanged. For category
and training_availability semantics, see intervals-icu://event-categories.
For WORKOUT description syntax, see intervals-icu://workout-syntax.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Updated event name | |
| color | No | Updated color (hex string) | |
| end_date | No | Updated end date (YYYY-MM-DD) | |
| event_id | Yes | Event ID to update | |
| athlete_id | No | Athlete ID (for coaches managing multiple athletes) | |
| event_type | No | Updated activity type | |
| start_date | No | Updated start date (YYYY-MM-DD) | |
| description | No | Updated description. For WORKOUT events the server parses this into structured, device-syncable steps with zones and a training load. Use Intervals.icu workout syntax: one step per line as '- <duration> <target>' (duration FIRST), grouped under Warmup / Main / Cooldown headers. Targets: bike '- 5m 85%', '- 5m Z4', or absolute '- 5m 210w'; HR '- 10m 70-80% HR' or '- 10m 145bpm'; run/swim pace '- 5m Z2 Pace', absolute only with a trailing 'pace' word: '- 5m 4:45/km pace', '- 200mtr 1:45/100m pace' (bare '5:00/km' or '1:45/100m' silently drops); threshold is relative — run '- 25m 100% pace', swim CSS '- 200mtr 100% pace' — the words 'threshold'/'CSS'/'5K pace' are NOT parsed as targets. Add cadence to any step: '- 3m Z2 90rpm'. No target: '- 20m free'. Repeats: put 'Nx' after a section name with steps flat beneath, and leave a blank line before and after the repeat block (without it the repeat silently runs only once) — e.g. 'Main 5x' then '- 3m 110%' / '- 3m 50%'. Ramps: '- 10m ramp 50-70%'. Rest: append 'Ns rest' to a step ('- 200mtr Z2 20s rest') or use a separate '- 20s intensity=rest' step (only intensity=rest exports as a device rest step) — never a bare '- 20s' step (that becomes work, not rest). Durations: 'm'=minutes, 's'=seconds; distance steps use 'mtr'=meters / 'km' / 'yrd' (e.g. swim '- 400mtr Z2 Pace'). Do NOT write '[repeat 5x ...]', nested bullets, or 'Z5 3m' (target before duration). Runs need a pace or HR target — a bare 'Z2' gives no load. Full reference: intervals-icu://workout-syntax resource. | |
| show_as_note | No | Show event as a note on the fitness chart | |
| training_load | No | Updated training load | |
| distance_meters | No | Updated distance in meters | |
| duration_seconds | No | Updated duration in seconds | |
| show_on_ctl_line | No | Render event on the CTL line | |
| not_on_fitness_chart | No | Hide event from the fitness chart | |
| training_availability | No | Updated training availability: NORMAL, LIMITED, or UNAVAILABLE |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |