157 lines
3.0 KiB
Markdown
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)
|