Skip to main content
Version: 2023-02-21

Update A Task Or Subtask

PATCH 

/projects/tasks/:taskId

Updates a task or subtask by id (title, TipTap body, status, dates, assignees, priority, parentTaskId, custom fields, etc.). Response is { "task": { … } } without embedded subtasks.

Request​

Version stringrequired

API Version

Available optionsv3
taskId stringrequired

Task id

locationId string

Location id. Required for channel: APP. Ignored for OAuth/PIT — those use the location on the auth token. Do not send in path, body, or headers.

application/json

Bodyrequired

    titlestring

    Task title

    dueDatestring

    Due date in ISO 8601 format or Unix timestamp

    bodystring

    Task body as TipTap HTML or TipTap JSON string (same field as comment body). See TipTap documentation. Sanitised server-side to a published HTML allowlist (basic formatting + links). Max 32,000 characters.

    Possible values: <= 32000 characters

    startDatestring

    Start date

    statusstring

    Status key from the list effective workflow. Do not send statusGroup.

    prioritynumber

    Priority level. Allowed: 1 (highest), 2, 3, 4 (lowest).

    Available options1234

    Possible values: >= 1 and <= 4

    parentTaskIdstring

    Parent task id when this task should become a subtask. Do not send this task’s own id.

    assigneesstring[]

    Assignee user IDs. Only one assignee is supported today — send a single-element array (extra ids are rejected with 422).

    Possible values: <= 1

    contactIdstring

    Linked contact id

    businessIdstring

    Linked business id

    customFieldsobject

    Location-defined custom field values keyed by the task field key (without the task. prefix). Discover keys via the Custom Fields API (objectKey: "task"). Example: definition task.project_phase → { "project_phase": "discovery" }.

application/json

Successful response

Schema
    taskobjectrequired

    Task