# EditTaskInput

input type

Edit-input for a Task. Every field optional, at least ONE required; supplied fields REPLACE, omitted fields are preserved (no clearing semantic; the updateCsCase law). The id-set fields REPLACE their sets. ⚠ createdBy/linkedFromTaskId are NOT here — IMMUTABLE at birth; status moves ONLY via transitionTask; a terminal task refuses every edit (CONFLICT/IMMUTABLE).

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | The task title. |
| `description` | [String](/types/#scalars) | no | ≤8192. |
| `priority` | [String](/types/#scalars) | no | No further notes. |
| `reportTo` | [ID](/types/#scalars) | no | In-tenant + ACTIVE User at set. |
| `assigneeUserIds` | [ID](/types/#scalars) `[ID!]` | no | REPLACES the assignee set (the book rows follow in the same txn). |
| `teamIds` | [ID](/types/#scalars) `[ID!]` | no | REPLACES the team set. |
| `labelIds` | [ID](/types/#scalars) `[ID!]` | no | REPLACES the label set. |
| `dueAt` | [String](/types/#scalars) | no | No further notes. |
| `constructRefs` | [TaskConstructRefInput](/types/TaskConstructRefInput/) `[TaskConstructRefInput!]` | no | REPLACES the ref set (the REF book rows follow). |

## Used by

- [updateTask](/reference/task/updateTask/)
