update_epic
Update an existing epic by its uid; only supplied fields are changed. For collections, prefer the add_*/remove_* delta fields (safe incremental edits); the plain collection fields (assigned_to, checklists, links, attachments) REPLACE the prior state destructively and cannot be combined with their deltas. Use preview_description_update / update_description to edit the description.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| id | Yes | Epic uid | |
| name | No | ||
| color | No | Hex color like #0060F0 | |
| links | No | Each { url, description }; replaces the epic's links | |
| end_date | No | ISO-8601 date | |
| add_links | No | Add links: each { url, description? }; keeps existing links | |
| checklists | No | Each { name, items: [{ description, checked }] }; replaces the epic's checklists | |
| start_date | No | ISO-8601 date | |
| assigned_to | No | Assignee user uids, discoverable via list_project_users; replaces the epic's assignees | |
| attachments | No | Each { url, name }; the file is fetched from the url; replaces the epic's attachments | |
| check_items | No | Mark items done, matched by exact description within the named checklist | |
| remove_links | No | Remove links by exact url; absent urls are no-ops | |
| add_assignees | No | Add assignees by user uid; keeps existing assignees | |
| uncheck_items | No | Mark items not done (same matching as check_items) | |
| remove_assignees | No | Remove assignees by user uid; absent uids are no-ops | |
| add_checklist_items | No | Append items: each { checklist, description, checked? } — the named checklist is created if it does not exist | |
| remove_checklist_items | No | Delete items; absent items are no-ops |