ghl_project_list_list_tasks
Retrieve tasks from a specific project list and paginate through results with limit and searchAfter for browsing or syncing.
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.
Get Tasks
Pages tasks whose primary (home) list is this list. Use limit and query searchAfter from the previous response searchAfter (opaque base64url string). Prefer Search Tasks with parentTaskId / subtaskViewMode for subtask-focused views.
Endpoint: GET /projects/lists/{listId}/tasks (Version header: v3; source: v3/projects-v3.json)
OAuth scopes: projects/tasks.readonly
Pagination params: limit — pass them to page through full result sets.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| limit | No | Page size | |
| 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. | |
| searchAfter | No | Opaque searchAfter for task list/search (base64url-encoded JSON array). Pass the response `searchAfter` back verbatim. `null` when no further page. |