How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Asana Tasks API

The Asana Tasks API is a powerful tool that allows developers to programmatically manage tasks and projects within the Asana platform. With this API, users can create, update, and delete tasks, as well as assign tasks to users, set due dates, and track task progress. By integrating the Asana Tasks API into their applications, developers can streamline project management processes, improve communication, and increase productivity within their teams.

Asana Tasks API is one of 55 APIs that Asana publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 JSON Schema definition.

The published artifact set on APIs.io includes an OpenAPI specification, API documentation, and 1 JSON Schema.

This API exposes 28 operations across 24 paths, and defines 33 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against a single base URL, https://app.asana.com/api/1.0.

28 operations 24 paths 33 schemas 1 DELETE12 GET14 POST1 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Server
https://app.asana.com/api/1.0
Authentication
HTTP Bearer, OAuth 2.0
License
Terms of Service
Resource Areas
1

Authentication & Security 2

Asana Tasks API declares 2 security schemes for authenticating requests. It accepts HTTP bearer tokens (personalAccessToken). It supports OAuth 2.0 (oauth2) using the authorizationCode flow, exposing 1 scope. By default, every request must be authenticated.

  • personalAccessToken — A personal access token for the Asana API.
  • oauth2 — OAuth 2.0 authorization code flow.

Paths & Operations 28

Across 24 paths, the API surfaces 28 operations — 1 DELETE, 12 GET, 14 POST, 1 PUT. Each is listed below with its method, path, parameters, and response codes.

Tasks 28

The task is the basic object around which many operations in Asana are centered. In the Asana application, multiple tasks populate the middle pane according to some view parameter…

GET
/tasks/{task_gid}/tags
Asana Get a task's tags
getTagsForTask 5 params → 200400401403404500
GET
/tasks
Asana Get multiple tasks
getTasks 10 params → 200400401403404500
POST
/tasks
Asana Create a task
createTask 2 params body → 201400401403404500
GET
/tasks/{task_gid}
Asana Get a task
getTask 3 params → 200400401403404500
PUT
/tasks/{task_gid}
Asana Update a task
updateTask 3 params body → 200400401403404500
DELETE
/tasks/{task_gid}
Asana Delete a task
deleteTask 2 params → 200400401403404500
POST
/tasks/{task_gid}/duplicate
Asana Duplicate a task
duplicateTask 3 params body → 201400401403404500
GET
/projects/{project_gid}/tasks
Asana Get tasks from a project
getTasksForProject 6 params → 200400401403404500
GET
/sections/{section_gid}/tasks
Asana Get tasks from a section
getTasksForSection 6 params → 200400401403404500
GET
/tags/{tag_gid}/tasks
Asana Get tasks from a tag
getTasksForTag 5 params → 200400401403404500
GET
/user_task_lists/{user_task_list_gid}/tasks
Asana Get tasks from a user task list
getTasksForUserTaskList 6 params → 200400401403404500
GET
/tasks/{task_gid}/subtasks
Asana Get subtasks from a task
getSubtasksForTask 5 params → 200400401403404500
POST
/tasks/{task_gid}/subtasks
Asana Create a subtask
createSubtaskForTask 3 params body → 201400401403404500
POST
/tasks/{task_gid}/setParent
Asana Set the parent of a task
setParentForTask 3 params body → 200400401403404500
GET
/tasks/{task_gid}/dependencies
Asana Get dependencies from a task
getDependenciesForTask 5 params → 200400401402403404500
POST
/tasks/{task_gid}/addDependencies
Asana Set dependencies for a task
addDependenciesForTask 2 params body → 200400401402403404500
POST
/tasks/{task_gid}/removeDependencies
Asana Unlink dependencies from a task
removeDependenciesForTask 2 params body → 200400401402403404500
GET
/tasks/{task_gid}/dependents
Asana Get dependents from a task
getDependentsForTask 5 params → 200400401402403404500
POST
/tasks/{task_gid}/addDependents
Asana Set dependents for a task
addDependentsForTask 2 params body → 200400401402403404500
POST
/tasks/{task_gid}/removeDependents
Asana Unlink dependents from a task
removeDependentsForTask 2 params body → 200400401402403404500
POST
/tasks/{task_gid}/addProject
Asana Add a project to a task
addProjectForTask 2 params body → 200400401403404500
POST
/tasks/{task_gid}/removeProject
Asana Remove a project from a task
removeProjectForTask 2 params body → 200400401403404500
POST
/tasks/{task_gid}/addTag
Asana Add a tag to a task
addTagForTask 2 params body → 200400401403404500
POST
/tasks/{task_gid}/removeTag
Asana Remove a tag from a task
removeTagForTask 2 params body → 200400401403404500
POST
/tasks/{task_gid}/addFollowers
Asana Add followers to a task
addFollowersForTask 3 params body → 200400401403404500
POST
/tasks/{task_gid}/removeFollowers
Asana Remove followers from a task
removeFollowerForTask 3 params body → 200400401403404500
GET
/workspaces/{workspace_gid}/tasks/custom_id/{custom_id}
Asana Get a task for a given custom ID
getTaskForCustomID 2 params → 200400401403404500
GET
/workspaces/{workspace_gid}/tasks/search
Asana Search tasks in a workspace
searchTasksForWorkspace 55 params → 200400401403404500

Schemas 33

The contract defines 33 schemas that model the data the API accepts and returns. The most detailed are CustomFieldCompact (16 properties), JobCompact (7 properties), TaskCompact (5 properties), EnumOption (5 properties). Each schema is shown below with its type and property counts.

TaskRemoveTagRequest
object
1 property 1 required
NextPage
object
Conditional. This property is only present when a limit query parameter is provided in the request. When making a paginated request, the API will return a numb…
3 properties
SectionCompact
object
A section is a subdivision of a project that groups tasks together. It can either be a header above a list of tasks in a list view or a column in a board view…
3 properties
TaskRemoveFollowersRequest
object
1 property 1 required
JobResponse
AsanaResource
object
A generic Asana Resource, containing a globally unique identifier.
2 properties
TaskBase
TaskAddFollowersRequest
object
1 property 1 required
Error
object
3 properties
Like
object
An object to represent a user's like.
2 properties
TaskRemoveProjectRequest
object
1 property 1 required
JobBase
JobCompact
object
A job is an object representing a process that handles asynchronous work.
7 properties
ErrorResponse
object
Sadly, sometimes requests to the API are not successful. Failures can occur for a wide range of reasons. In all cases, the API should return an HTTP Status Cod…
1 property
EnumOption
object
Enum options are the possible values which an enum custom field can adopt. An enum custom field must contain at least 1 enum option but no more than 500. You c…
5 properties
TagCompact
object
A tag is a label that can be attached to any task in Asana. It exists in a single workspace or organization.
3 properties
ModifyDependenciesRequest
object
1 property
CustomFieldCompact
object
Custom Fields store the metadata that is used in order to add user-specified information to tasks in Asana. Be sure to reference the [custom fields](/reference…
16 properties
TaskSetParentRequest
object
3 properties 1 required
EmptyResponse
object
An empty object. Some endpoints do not return an object on success. The success is conveyed through a 2-- status code and returning an empty object.
ProjectTemplateCompact
object
A project template is an object that allows new projects to be created with a predefined setup, which may include tasks, sections, Rules, etc. It simplifies th…
3 properties
ProjectCompact
object
A project represents a prioritized list of tasks in Asana or a board with columns of tasks represented as cards. It exists in a single workspace or organizatio…
3 properties
TaskCompact
object
The task is the basic object around which many operations in Asana are centered.
5 properties
ModifyDependentsRequest
object
A set of dependent tasks.
1 property
UserCompact
object
A user object represents an account in Asana that can be given access to various workspaces, projects, and tasks.
3 properties
TaskDuplicateRequest
object
2 properties
TaskResponse
CustomFieldResponse
WorkspaceCompact
object
A workspace is the highest-level organizational unit in Asana. All projects and tasks have an associated workspace.
3 properties
TaskRequest
CustomFieldBase
TaskAddProjectRequest
object
4 properties 1 required
TaskAddTagRequest
object
1 property 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

asana-tasks-api-openapi.yml Raw ↑

Other APIs Asana publishes across the network.

Asana Allocations API
Asana Attachments API
Asana Custom Fields API
Asana Enum Options API
Asana Events API
Asana Goal Relationships API
Asana Goals API
Asana Jobs API
Asana Memberships API
Asana Organization Exports API
Asana Portfolios API
Asana Project Templates API
Where this information came from

This is an independent, third-party profile of Asana Tasks API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.