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

157 lines
3.0 KiB
Markdown

# 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
```bash
GET /google-tasks/tasks/v1/users/@me/lists
```
With pagination:
```bash
GET /google-tasks/tasks/v1/users/@me/lists?maxResults=20
```
#### Get Task List
```bash
GET /google-tasks/tasks/v1/users/@me/lists/{tasklistId}
```
#### Create Task List
```bash
POST /google-tasks/tasks/v1/users/@me/lists
Content-Type: application/json
{
"title": "New Task List"
}
```
#### Update Task List
```bash
PATCH /google-tasks/tasks/v1/users/@me/lists/{tasklistId}
Content-Type: application/json
{
"title": "Updated Title"
}
```
#### Delete Task List
```bash
DELETE /google-tasks/tasks/v1/users/@me/lists/{tasklistId}
```
### Tasks
#### List Tasks
```bash
GET /google-tasks/tasks/v1/lists/{tasklistId}/tasks
```
With filters:
```bash
GET /google-tasks/tasks/v1/lists/{tasklistId}/tasks?showCompleted=true&showHidden=true&maxResults=50
```
With date filters:
```bash
GET /google-tasks/tasks/v1/lists/{tasklistId}/tasks?dueMin=2026-01-01T00:00:00Z&dueMax=2026-12-31T23:59:59Z
```
#### Get Task
```bash
GET /google-tasks/tasks/v1/lists/{tasklistId}/tasks/{taskId}
```
#### Create Task
```bash
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:
```bash
POST /google-tasks/tasks/v1/lists/{tasklistId}/tasks?parent={parentTaskId}
Content-Type: application/json
{
"title": "Subtask"
}
```
#### Update Task (partial)
```bash
PATCH /google-tasks/tasks/v1/lists/{tasklistId}/tasks/{taskId}
Content-Type: application/json
{
"title": "Updated Title",
"status": "completed"
}
```
#### Update Task (full replace)
```bash
PUT /google-tasks/tasks/v1/lists/{tasklistId}/tasks/{taskId}
Content-Type: application/json
{
"title": "Replaced Task",
"notes": "New notes",
"status": "needsAction"
}
```
#### Delete Task
```bash
DELETE /google-tasks/tasks/v1/lists/{tasklistId}/tasks/{taskId}
```
#### Move Task
```bash
POST /google-tasks/tasks/v1/lists/{tasklistId}/tasks/{taskId}/move?previous={previousTaskId}
```
Make subtask:
```bash
POST /google-tasks/tasks/v1/lists/{tasklistId}/tasks/{taskId}/move?parent={parentTaskId}
```
#### Clear Completed Tasks
```bash
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
- [Google Tasks API Overview](https://developers.google.com/workspace/tasks)
- [Tasks Reference](https://developers.google.com/workspace/tasks/reference/rest/v1/tasks)
- [TaskLists Reference](https://developers.google.com/workspace/tasks/reference/rest/v1/tasklists)