ghl_project_update_task
Update an existing project task or subtask by ID, including title, body, status, dates, assignees, priority, parent task, and custom fields.
Instructions
PROJECT MANAGEMENT API — hierarchy is spaces -> folders -> lists -> tasks (+ comments, space statuses, recurring tasks). Task batch-get is RBAC-filtered (inaccessible ids are omitted, not errors) and omits embedded subtasks. position is an opaque server-assigned lexorank string; there is no public reorder endpoint. Recurring tasks use owners/contactIds and rruleOptions.intervalType (task create uses assignees/contactId). Task search supports updatedAt filtering/sorting for incremental sync. The docs do not describe what a delete cascades to — treat every delete as destructive.
Update A Task Or Subtask
Updates a task or subtask by id (title, TipTap body, status, dates, assignees, priority, parentTaskId, custom fields, etc.). Response is { "task": { … } } without embedded subtasks.
Endpoint: PATCH /projects/tasks/{taskId} (Version header: v3; source: v3/projects-v3.json)
OAuth scopes: projects/tasks.write
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Request body (schema carried verbatim from the official OpenAPI spec). | |
| taskId | Yes | Task id | |
| locationId | No | Location id. Required for APP channel (`?locationId=`). Ignored for OAuth/PIT (token location is used). Do not send in path, body, or headers. |