2.7 KiB
2.7 KiB
Asana Routing Reference
App name: asana
Base URL proxied: app.asana.com
API Path Pattern
/asana/api/1.0/{resource}
Common Endpoints
Get Current User
GET /asana/api/1.0/users/me
List Workspaces
GET /asana/api/1.0/workspaces
List Tasks
GET /asana/api/1.0/tasks?project=PROJECT_GID&opt_fields=name,completed,due_on
Get a Task
GET /asana/api/1.0/tasks/{task_gid}
Create 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"
}
}
Update a Task
PUT /asana/api/1.0/tasks/{task_gid}
Content-Type: application/json
{
"data": {
"completed": true
}
}
Delete a Task
DELETE /asana/api/1.0/tasks/{task_gid}
Get Subtasks
GET /asana/api/1.0/tasks/{task_gid}/subtasks
Create Subtask
POST /asana/api/1.0/tasks/{task_gid}/subtasks
Content-Type: application/json
{
"data": {
"name": "Subtask name"
}
}
List Projects
GET /asana/api/1.0/projects?workspace=WORKSPACE_GID&opt_fields=name,owner,due_date
Get a Project
GET /asana/api/1.0/projects/{project_gid}
Create a Project
POST /asana/api/1.0/projects
Content-Type: application/json
{
"data": {
"name": "New Project",
"workspace": "WORKSPACE_GID"
}
}
List Users in Workspace
GET /asana/api/1.0/workspaces/{workspace_gid}/users?opt_fields=name,email
Create Webhook
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"]
}
]
}
}
Delete Webhook
DELETE /asana/api/1.0/webhooks/{webhook_gid}
Notes
- Resource IDs (GIDs) are strings
- Timestamps are in ISO 8601 format
- Use
opt_fieldsto specify which fields to return in responses - Workspaces are the highest-level organizational unit
- Use cursor-based pagination with
offsetparameter - Webhook creation requires the target URL to respond with 200 status