Google Tasks · Capability
Google Tasks API
Google Tasks API. 13 operations. Lead operation: Clear completed tasks. Self-contained Naftiko capability covering one Google Tasks business surface.
What You Can Do
POST
Cleartasks
— Clear completed tasks
/v1/lists/{tasklistid}/clear
GET
Listtasks
— List tasks
/v1/lists/{tasklistid}/tasks
POST
Inserttask
— Create a task
/v1/lists/{tasklistid}/tasks
GET
Gettask
— Get a task
/v1/lists/{tasklistid}/tasks/{taskid}
PUT
Updatetask
— Update a task
/v1/lists/{tasklistid}/tasks/{taskid}
DELETE
Deletetask
— Delete a task
/v1/lists/{tasklistid}/tasks/{taskid}
POST
Movetask
— Move a task
/v1/lists/{tasklistid}/tasks/{taskid}/move
GET
Listtasklists
— List task lists
/v1/users/me/lists
POST
Inserttasklist
— Create a task list
/v1/users/me/lists
GET
Gettasklist
— Get a task list
/v1/users/me/lists/{tasklistid}
PUT
Updatetasklist
— Update a task list
/v1/users/me/lists/{tasklistid}
PATCH
Patchtasklist
— Patch a task list
/v1/users/me/lists/{tasklistid}
DELETE
Deletetasklist
— Delete a task list
/v1/users/me/lists/{tasklistid}
MCP Tools
clear-completed-tasks
Clear completed tasks
list-tasks
List tasks
read-only
idempotent
create-task
Create a task
get-task
Get a task
read-only
idempotent
update-task
Update a task
idempotent
delete-task
Delete a task
idempotent
move-task
Move a task
list-task-lists
List task lists
read-only
idempotent
create-task-list
Create a task list
get-task-list
Get a task list
read-only
idempotent
update-task-list
Update a task list
idempotent
patch-task-list
Patch a task list
idempotent
delete-task-list
Delete a task list
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Google Tasks API
description: 'Google Tasks API. 13 operations. Lead operation: Clear completed tasks. Self-contained Naftiko capability
covering one Google Tasks business surface.'
tags:
- Google Tasks
- Google Tasks API
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
GOOGLE_TASKS_API_KEY: GOOGLE_TASKS_API_KEY
capability:
consumes:
- type: http
namespace: tasks
baseUri: https://tasks.googleapis.com/tasks/v1
description: Google Tasks API business capability. Self-contained, no shared references.
resources:
- name: lists-taskListId-clear
path: /lists/{taskListId}/clear
operations:
- name: cleartasks
method: POST
description: Clear completed tasks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: lists-taskListId-tasks
path: /lists/{taskListId}/tasks
operations:
- name: listtasks
method: GET
description: List tasks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: maxResults
in: query
type: integer
- name: pageToken
in: query
type: string
- name: showCompleted
in: query
type: boolean
- name: showHidden
in: query
type: boolean
- name: dueMin
in: query
type: string
- name: dueMax
in: query
type: string
- name: inserttask
method: POST
description: Create a task
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: parent
in: query
type: string
- name: previous
in: query
type: string
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: lists-taskListId-tasks-taskId
path: /lists/{taskListId}/tasks/{taskId}
operations:
- name: gettask
method: GET
description: Get a task
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: taskId
in: path
type: string
required: true
- name: updatetask
method: PUT
description: Update a task
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: taskId
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: deletetask
method: DELETE
description: Delete a task
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: taskId
in: path
type: string
required: true
- name: lists-taskListId-tasks-taskId-move
path: /lists/{taskListId}/tasks/{taskId}/move
operations:
- name: movetask
method: POST
description: Move a task
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: taskId
in: path
type: string
required: true
- name: parent
in: query
type: string
- name: previous
in: query
type: string
- name: users-@me-lists
path: /users/@me/lists
operations:
- name: listtasklists
method: GET
description: List task lists
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: maxResults
in: query
type: integer
- name: pageToken
in: query
type: string
- name: inserttasklist
method: POST
description: Create a task list
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: users-@me-lists-taskListId
path: /users/@me/lists/{taskListId}
operations:
- name: gettasklist
method: GET
description: Get a task list
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: updatetasklist
method: PUT
description: Update a task list
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: patchtasklist
method: PATCH
description: Patch a task list
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: taskListId
in: path
type: string
required: true
- name: body
in: body
type: object
description: Request body (JSON).
required: false
- name: deletetasklist
method: DELETE
description: Delete a task list
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: taskListId
in: path
type: string
required: true
authentication:
type: bearer
token: '{{env.GOOGLE_TASKS_API_KEY}}'
exposes:
- type: rest
namespace: tasks-rest
port: 8080
description: REST adapter for Google Tasks API. One Spectral-compliant resource per consumed operation, prefixed with
/v1.
resources:
- path: /v1/lists/{tasklistid}/clear
name: lists-tasklistid-clear
description: REST surface for lists-taskListId-clear.
operations:
- method: POST
name: cleartasks
description: Clear completed tasks
call: tasks.cleartasks
with:
taskListId: rest.taskListId
outputParameters:
- type: object
mapping: $.
- path: /v1/lists/{tasklistid}/tasks
name: lists-tasklistid-tasks
description: REST surface for lists-taskListId-tasks.
operations:
- method: GET
name: listtasks
description: List tasks
call: tasks.listtasks
with:
taskListId: rest.taskListId
maxResults: rest.maxResults
pageToken: rest.pageToken
showCompleted: rest.showCompleted
showHidden: rest.showHidden
dueMin: rest.dueMin
dueMax: rest.dueMax
outputParameters:
- type: object
mapping: $.
- method: POST
name: inserttask
description: Create a task
call: tasks.inserttask
with:
taskListId: rest.taskListId
parent: rest.parent
previous: rest.previous
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/lists/{tasklistid}/tasks/{taskid}
name: lists-tasklistid-tasks-taskid
description: REST surface for lists-taskListId-tasks-taskId.
operations:
- method: GET
name: gettask
description: Get a task
call: tasks.gettask
with:
taskListId: rest.taskListId
taskId: rest.taskId
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updatetask
description: Update a task
call: tasks.updatetask
with:
taskListId: rest.taskListId
taskId: rest.taskId
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletetask
description: Delete a task
call: tasks.deletetask
with:
taskListId: rest.taskListId
taskId: rest.taskId
outputParameters:
- type: object
mapping: $.
- path: /v1/lists/{tasklistid}/tasks/{taskid}/move
name: lists-tasklistid-tasks-taskid-move
description: REST surface for lists-taskListId-tasks-taskId-move.
operations:
- method: POST
name: movetask
description: Move a task
call: tasks.movetask
with:
taskListId: rest.taskListId
taskId: rest.taskId
parent: rest.parent
previous: rest.previous
outputParameters:
- type: object
mapping: $.
- path: /v1/users/me/lists
name: users-me-lists
description: REST surface for users-@me-lists.
operations:
- method: GET
name: listtasklists
description: List task lists
call: tasks.listtasklists
with:
maxResults: rest.maxResults
pageToken: rest.pageToken
outputParameters:
- type: object
mapping: $.
- method: POST
name: inserttasklist
description: Create a task list
call: tasks.inserttasklist
with:
body: rest.body
outputParameters:
- type: object
mapping: $.
- path: /v1/users/me/lists/{tasklistid}
name: users-me-lists-tasklistid
description: REST surface for users-@me-lists-taskListId.
operations:
- method: GET
name: gettasklist
description: Get a task list
call: tasks.gettasklist
with:
taskListId: rest.taskListId
outputParameters:
- type: object
mapping: $.
- method: PUT
name: updatetasklist
description: Update a task list
call: tasks.updatetasklist
with:
taskListId: rest.taskListId
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: patchtasklist
description: Patch a task list
call: tasks.patchtasklist
with:
taskListId: rest.taskListId
body: rest.body
outputParameters:
- type: object
mapping: $.
- method: DELETE
name: deletetasklist
description: Delete a task list
call: tasks.deletetasklist
with:
taskListId: rest.taskListId
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: tasks-mcp
port: 9090
transport: http
description: MCP adapter for Google Tasks API. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: clear-completed-tasks
description: Clear completed tasks
hints:
readOnly: false
destructive: false
idempotent: false
call: tasks.cleartasks
with:
taskListId: tools.taskListId
outputParameters:
- type: object
mapping: $.
- name: list-tasks
description: List tasks
hints:
readOnly: true
destructive: false
idempotent: true
call: tasks.listtasks
with:
taskListId: tools.taskListId
maxResults: tools.maxResults
pageToken: tools.pageToken
showCompleted: tools.showCompleted
showHidden: tools.showHidden
dueMin: tools.dueMin
dueMax: tools.dueMax
outputParameters:
- type: object
mapping: $.
- name: create-task
description: Create a task
hints:
readOnly: false
destructive: false
idempotent: false
call: tasks.inserttask
with:
taskListId: tools.taskListId
parent: tools.parent
previous: tools.previous
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-task
description: Get a task
hints:
readOnly: true
destructive: false
idempotent: true
call: tasks.gettask
with:
taskListId: tools.taskListId
taskId: tools.taskId
outputParameters:
- type: object
mapping: $.
- name: update-task
description: Update a task
hints:
readOnly: false
destructive: false
idempotent: true
call: tasks.updatetask
with:
taskListId: tools.taskListId
taskId: tools.taskId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-task
description: Delete a task
hints:
readOnly: false
destructive: true
idempotent: true
call: tasks.deletetask
with:
taskListId: tools.taskListId
taskId: tools.taskId
outputParameters:
- type: object
mapping: $.
- name: move-task
description: Move a task
hints:
readOnly: false
destructive: false
idempotent: false
call: tasks.movetask
with:
taskListId: tools.taskListId
taskId: tools.taskId
parent: tools.parent
previous: tools.previous
outputParameters:
- type: object
mapping: $.
- name: list-task-lists
description: List task lists
hints:
readOnly: true
destructive: false
idempotent: true
call: tasks.listtasklists
with:
maxResults: tools.maxResults
pageToken: tools.pageToken
outputParameters:
- type: object
mapping: $.
- name: create-task-list
description: Create a task list
hints:
readOnly: false
destructive: false
idempotent: false
call: tasks.inserttasklist
with:
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: get-task-list
description: Get a task list
hints:
readOnly: true
destructive: false
idempotent: true
call: tasks.gettasklist
with:
taskListId: tools.taskListId
outputParameters:
- type: object
mapping: $.
- name: update-task-list
description: Update a task list
hints:
readOnly: false
destructive: false
idempotent: true
call: tasks.updatetasklist
with:
taskListId: tools.taskListId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: patch-task-list
description: Patch a task list
hints:
readOnly: false
destructive: false
idempotent: true
call: tasks.patchtasklist
with:
taskListId: tools.taskListId
body: tools.body
outputParameters:
- type: object
mapping: $.
- name: delete-task-list
description: Delete a task list
hints:
readOnly: false
destructive: true
idempotent: true
call: tasks.deletetasklist
with:
taskListId: tools.taskListId
outputParameters:
- type: object
mapping: $.