Files
2026-04-11 09:45:12 -05:00

3.0 KiB

Google Tasks Routing Reference

App name: google-tasks Base URL proxied: tasks.googleapis.com

API Path Pattern

/google-tasks/tasks/v1/{endpoint}

Common Endpoints

Task Lists

List Task Lists

GET /google-tasks/tasks/v1/users/@me/lists

With pagination:

GET /google-tasks/tasks/v1/users/@me/lists?maxResults=20

Get Task List

GET /google-tasks/tasks/v1/users/@me/lists/{tasklistId}

Create Task List

POST /google-tasks/tasks/v1/users/@me/lists
Content-Type: application/json

{
  "title": "New Task List"
}

Update Task List

PATCH /google-tasks/tasks/v1/users/@me/lists/{tasklistId}
Content-Type: application/json

{
  "title": "Updated Title"
}

Delete Task List

DELETE /google-tasks/tasks/v1/users/@me/lists/{tasklistId}

Tasks

List Tasks

GET /google-tasks/tasks/v1/lists/{tasklistId}/tasks

With filters:

GET /google-tasks/tasks/v1/lists/{tasklistId}/tasks?showCompleted=true&showHidden=true&maxResults=50

With date filters:

GET /google-tasks/tasks/v1/lists/{tasklistId}/tasks?dueMin=2026-01-01T00:00:00Z&dueMax=2026-12-31T23:59:59Z

Get Task

GET /google-tasks/tasks/v1/lists/{tasklistId}/tasks/{taskId}

Create Task

POST /google-tasks/tasks/v1/lists/{tasklistId}/tasks
Content-Type: application/json

{
  "title": "New Task",
  "notes": "Task description",
  "due": "2026-03-01T00:00:00.000Z"
}

Create subtask:

POST /google-tasks/tasks/v1/lists/{tasklistId}/tasks?parent={parentTaskId}
Content-Type: application/json

{
  "title": "Subtask"
}

Update Task (partial)

PATCH /google-tasks/tasks/v1/lists/{tasklistId}/tasks/{taskId}
Content-Type: application/json

{
  "title": "Updated Title",
  "status": "completed"
}

Update Task (full replace)

PUT /google-tasks/tasks/v1/lists/{tasklistId}/tasks/{taskId}
Content-Type: application/json

{
  "title": "Replaced Task",
  "notes": "New notes",
  "status": "needsAction"
}

Delete Task

DELETE /google-tasks/tasks/v1/lists/{tasklistId}/tasks/{taskId}

Move Task

POST /google-tasks/tasks/v1/lists/{tasklistId}/tasks/{taskId}/move?previous={previousTaskId}

Make subtask:

POST /google-tasks/tasks/v1/lists/{tasklistId}/tasks/{taskId}/move?parent={parentTaskId}

Clear Completed Tasks

POST /google-tasks/tasks/v1/lists/{tasklistId}/clear

Notes

  • Authentication is automatic - the router injects the OAuth token
  • Task list and task IDs are opaque base64-encoded strings
  • Status values: "needsAction" or "completed"
  • Dates must be in RFC 3339 format (e.g., 2026-01-15T00:00:00.000Z)
  • Maximum title length: 1024 characters
  • Maximum notes length: 8192 characters

Resources