Update a planned workout
update_planned_trainingUpdate a planned training workout. Read it first with get_planned_training, apply your changes in reasoning, then send the patch — nodes kept from the read keep their "id" (the server preserves everything the web editor set on them; a node without id is created new). The audience (athletes XOR group) is patchable with recurrence_action one only. If no schema field expresses a detail of the coach's intent, put it in the comment of the relevant node — never approximate it into another field, never drop it. If a request expands to more than 3 write operations, list the computed dates/targets and get explicit confirmation before writing.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Public id of the event to update. | |
| group | No | Group id (grp_…) carrying this event, for a workout planned on a whole group you manage. Omit it for an individual event. Never together with `athlete`. | |
| patch | Yes | RFC 7396 merge-patch of the envelope: omitted fields stay untouched, null clears a field, provided values replace it. "workout", when provided, replaces the whole structured content (full-replace): re-emit the entire array, preserving the "id" of every node you keep; null removes it and zeroes the duration and distance it synced. The audience ("athletes" XOR "group") is patchable with recurrence_action one only. | |
| athlete | No | Athlete id (usr_…) whose calendar carries this event, the same id you read it with. Omit it for your own events. Never together with `group`. | |
| confirm | No | True only after the user confirms replacing or disabling this recurrence. Required on MCP when the rule change removes occurrences. | |
| revision | No | Revision token from your last get_* read — optional but strongly recommended. On mismatch the server rejects with the fresh state: re-read, re-apply your change, re-emit. It only detects concurrent edits — no version history, no server-side undo: to be able to restore, keep the JSON you read before modifying and resubmit it without node ids. |