NewTaskInput
input type
Create-input for a Task. The tenant is derived SERVER-SIDE; ⚠ the caption IS the task's title and is REQUIRED at the boundary (the CsCase stance — an unnamed task is meaningless). Assignees/teams/labels validate in-tenant + ACTIVE; refs validate in-tenant + non-doomed; linkedFromTaskId validates COMPLETED-only. The TASKBOOK inbox rows for the birth sets mint in the SAME transaction.
Fields
| Field | Type | Required | Notes |
|---|---|---|---|
caption | String | no | Optional: when omitted the per-type default applies — NONE — the CsCase divergence class: the caption IS the task title, and an omitted caption refuses VALIDATION/INVALID at the boundary instead of defaulting; when supplied it must be non-blank. |
description | String | no | The task's brief (≤8192). |
priority | String | no | Defaults 'normal' when omitted. |
reportTo | ID | no | In-tenant + ACTIVE User at set. |
assigneeUserIds | ID [ID!] | no | ≤8 distinct in-tenant ACTIVE Users; omit = unassigned (the inbox open state). |
teamIds | ID [ID!] | no | ≤4 distinct in-tenant ACTIVE Teams. |
labelIds | ID [ID!] | no | ≤16 distinct in-tenant ACTIVE TaskLabels. |
dueAt | String | no | ISO-8601 instant. |
constructRefs | TaskConstructRefInput [TaskConstructRefInput!] | no | ≤16 distinct (type,id) refs — in-tenant + non-doomed at write (ref-only). |
linkedFromTaskId | ID | no | The COMPLETED task this one reopens. IMMUTABLE. |