ghl_project_update_list
Update project list details such as name, color, and privacy, including adding user grants when making a list private.
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 List
Updates list fields such as name, color, or privacy. color must be a palette swatch. userIds when making the list private adds grants and does not revoke omitted users — use DELETE /projects/lists/{listId}/users/{userId}. Setting isPrivate: false makes the list public; existing direct grants remain but no longer gate access while public.
Endpoint: PATCH /projects/lists/{listId} (Version header: v3; source: v3/projects-v3.json)
OAuth scopes: projects/workspace.write
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| body | Yes | Partial update body for a space, folder, or list (not tasks). All fields optional. When setting `isPrivate: true`, send a non-empty `userIds` array (add-only). Revoke with `DELETE .../users/{userId}`. Setting `isPrivate: false` makes the resource public; existing direct grants remain but no longer gate access while public. `icon` and `description` are not accepted on the public API. | |
| listId | Yes | List 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. |