Access the Asana API with managed OAuth authentication. Manage tasks, projects, workspaces, users, and webhooks for work management.
Reference
Get Multiple Tasks
GET /asana/api/1.0/tasksmaton asana task list --project 1234567890 --opt-fields name,completed,due_onQuery parameters:
project- Project GID to filter tasksassignee- User GID or "me" for assigned tasksworkspace- Workspace GID (required if no project specified)completed_since- ISO 8601 date to filter tasks completed after this dateopt_fields- Comma-separated list of fields to include
Get a Task
GET /asana/api/1.0/tasks/{task_gid}maton asana task view 1234567890Create a Task
POST /asana/api/1.0/tasks
Content-Type: application/json
{
"data": {
"name": "New task",
"projects": ["PROJECT_GID"],
"assignee": "USER_GID",
"due_on": "2025-03-20",
"notes": "Task description here"
}
}maton asana task create --name 'New task' --projects PROJECT_GID --assignee USER_GID --due-on 2025-03-20 --notes 'Task description here'Update a Task
PUT /asana/api/1.0/tasks/{task_gid}maton asana task update 1234567890 --completedDelete a Task
DELETE /asana/api/1.0/tasks/{task_gid}maton asana task delete 1234567890Get Tasks from a Project
GET /asana/api/1.0/projects/{project_gid}/tasksmaton asana task list --project 1234567890Get Subtasks
GET /asana/api/1.0/tasks/{task_gid}/subtasksmaton asana task list --parent 1234567890Create Subtask
POST /asana/api/1.0/tasks/{task_gid}/subtasks
Content-Type: application/json
{
"data": {
"name": "Subtask name",
"assignee": "USER_GID",
"due_on": "2025-03-20"
}
}maton asana task create --name 'Subtask name' --parent 1234567890 --assignee USER_GID --due-on 2025-03-20Search Tasks (Premium)
Note: This endpoint requires an Asana Premium subscription.
GET /asana/api/1.0/workspaces/{workspace_gid}/tasks/searchmaton asana task search -w 1234567890 --text 'quarterly report' --completed=falseQuery parameters:
text- Text to search forassignee.any- Filter by assigneesprojects.any- Filter by projectscompleted- Filter by completion status
Get Multiple Projects
GET /asana/api/1.0/projectsmaton asana project list --workspace <workspace-gid> --opt-fields name,owner,due_dateQuery parameters:
workspace- Workspace GIDteam- Team GIDopt_fields- Comma-separated list of fields
Get a Project
GET /asana/api/1.0/projects/{project_gid}maton asana project view <project-gid>Create a Project
POST /asana/api/1.0/projectsmaton asana project create --workspace <workspace-gid> --name 'New Project' --notes 'Project description'Update a Project
PUT /asana/api/1.0/projects/{project_gid}maton asana project update PROJECT_GID --name 'Updated Name'Delete a Project
DELETE /asana/api/1.0/projects/{project_gid}maton asana project delete <project-gid>Get Multiple Workspaces
GET /asana/api/1.0/workspacesmaton asana workspace listGet a Workspace
GET /asana/api/1.0/workspaces/{workspace_gid}maton asana workspace view 1234567890Update a Workspace
PUT /asana/api/1.0/workspaces/{workspace_gid}Add User to Workspace
POST /asana/api/1.0/workspaces/{workspace_gid}/addUserRemove User from Workspace
POST /asana/api/1.0/workspaces/{workspace_gid}/removeUserGet Multiple Users
GET /asana/api/1.0/usersQuery parameters:
workspace- Workspace GID to filter users
Get Current User
GET /asana/api/1.0/users/mematon asana whoamiGet a User
GET /asana/api/1.0/users/{user_gid}Get Users in a Team
GET /asana/api/1.0/teams/{team_gid}/usersGet Users in a Workspace
GET /asana/api/1.0/workspaces/{workspace_gid}/usersGet Multiple Webhooks
GET /asana/api/1.0/webhooksQuery parameters:
workspace- Workspace GID (required)resource- Resource GID to filter by
Create Webhook
Note: Asana verifies the target URL is reachable and responds with a 200 status during webhook creation.
POST /asana/api/1.0/webhooks
Content-Type: application/json
{
"data": {
"resource": "PROJECT_OR_TASK_GID",
"target": "https://example.com/webhook",
"filters": [
{
"resource_type": "task",
"action": "changed",
"fields": ["completed", "due_on"]
}
]
}
}Get a Webhook
GET /asana/api/1.0/webhooks/{webhook_gid}Update a Webhook
PUT /asana/api/1.0/webhooks/{webhook_gid}Delete a Webhook
DELETE /asana/api/1.0/webhooks/{webhook_gid}Returns 200 OK with empty data on success.