Create task
create_taskCreate a task in a project. Requires Administrator or ProjectManager role. Status values are DEFINED PER WORKSPACE — there is no fixed list. Call list_task_statuses to see this workspace's labels before setting one; a label it does not define is rejected with 400. A new workspace starts with "Open", "InProgress", "Review", "Done", but any of those may have been renamed, reordered, removed or added to. Each status also carries a progress value, and CHANGING A STATUS OVERWRITES percentComplete with it (the workspace's starting status is 0, its finished status 100). To set a status without taking its progress, send status and percentComplete together in one update_task call — except for the finished status, which always forces 100. assignedTo is the integer user id (use list_users to resolve) and must be a member of the workspace. Dates are ISO-8601 strings. An ordinary task must end up with BOTH startDate and endDate, and startDate must be on or before endDate — the server rejects a missing or inverted range with 422. A milestone needs only one of the two: the isMilestone invariants run first and copy it to the other. A child task's startDate must also be >= its parents' end dates. A milestone marks a dated gate rather than a span of work (launch date, sign-off, go/no-go). The server holds it to one date — endDate is forced to equal startDate, so naming either one is enough — with duration 0 and progress that is only ever 0 or 100 (100 exactly when it is in the workspace's finished status). Setting isMilestone on a task that already has a date range collapses it onto its start date. WORK BREAKDOWN STRUCTURE. Tasks nest via wbsParentId, and every task carries a read-only wbscode — its dotted outline number within the project ("1", "2.3", "2.3.1") — plus issummary. wbsParentId is NOT a scheduling dependency: a WBS child sits INSIDE its parent's span and in fact defines it, whereas a predecessor runs BEFORE its successor. Predecessors are their own resource — create_task_dependency — and are unrelated to nesting. A task with at least one WBS child is a SUMMARY TASK and owns none of its own schedule: its startDate, endDate, duration, percentComplete and status are all recomputed from its children (dates span the children; progress is their span-weighted average). Writing any of those on a summary returns 422 — change the children instead. wbscode is derived from tree position, so it shifts whenever tasks are reordered or re-parented: display it, never store or match on it.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| title | Yes | Task title | |
| status | No | Status (optional, default Open). Status values are DEFINED PER WORKSPACE — there is no fixed list. Call list_task_statuses to see this workspace's labels before setting one; a label it does not define is rejected with 400. A new workspace starts with "Open", "InProgress", "Review", "Done", but any of those may have been renamed, reordered, removed or added to. Each status also carries a progress value, and CHANGING A STATUS OVERWRITES percentComplete with it (the workspace's starting status is 0, its finished status 100). To set a status without taking its progress, send status and percentComplete together in one update_task call — except for the finished status, which always forces 100. | |
| endDate | Yes | End date, ISO-8601 (required, must be >= startDate; pass null only for a milestone that gives startDate instead; applied for Admin/ProjectManager) | |
| duration | No | Duration value (optional). In Days it is derived by the server — the working days the dates cover — so only an Hours or Minutes value is kept as sent | |
| projectId | Yes | Project id the task belongs to | |
| startDate | Yes | Start date, ISO-8601 (required; pass null only for a milestone that gives endDate instead; applied for Admin/ProjectManager) | |
| assignedTo | No | Assigned user id (optional) | |
| description | No | Description (optional) | |
| isMilestone | No | Create this as a milestone rather than a task (optional, default false) | |
| wbsParentId | No | WBS parent task id — the task this one decomposes. Must be in the same project, and cannot be a milestone (optional) | |
| durationUnit | No | Duration unit, e.g. Days or Hours (optional) | |
| targetVersion | No | Target version label (optional) | |
| resourceNeeded | No | Resource needed / FTE units (optional) | |
| percentComplete | No | Percent complete 0-100 (optional) |