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 Projects API

The Asana Projects API is a tool that allows users to programmatically interact with Asana projects, enabling them to create, update, and manage tasks and projects within the Asana platform. By leveraging the API, developers can automate workflow processes, integrate Asana with other tools and applications, and access project data in real-time.

Asana Projects 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 19 operations across 14 paths, and defines 38 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.

19 operations 14 paths 38 schemas 1 DELETE6 GET11 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 Projects 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 19

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

Projects 19

A project represents a prioritized list of tasks in Asana or a board with columns of tasks represented as cards. A project exists in a single workspace or organization and is acce…

GET
/projects
Asana Get multiple projects
getProjects 7 params → 200400401403404500
POST
/projects
Asana Create a project
createProject 2 params body → 201400401403404500
GET
/projects/{project_gid}
Asana Get a project
getProject 3 params → 200400401403404500
PUT
/projects/{project_gid}
Asana Update a project
updateProject 3 params body → 200400401403404500
DELETE
/projects/{project_gid}
Asana Delete a project
deleteProject 2 params → 200400401403404500
POST
/projects/{project_gid}/duplicate
Asana Duplicate a project
duplicateProject 3 params body → 201400401403404500
GET
/tasks/{task_gid}/projects
Asana Get projects a task is in
getProjectsForTask 5 params → 200400401403404500
GET
/teams/{team_gid}/projects
Asana Get a team's projects
getProjectsForTeam 6 params → 200400401403404500
POST
/teams/{team_gid}/projects
Asana Create a project in a team
createProjectForTeam 3 params body → 201400401403404500
GET
/workspaces/{workspace_gid}/projects
Asana Get all projects in a workspace
getProjectsForWorkspace 6 params → 200400401403404500
POST
/workspaces/{workspace_gid}/projects
Asana Create a project in a workspace
createProjectForWorkspace 3 params body → 201400401403404500
POST
/projects/{project_gid}/addCustomFieldSetting
Asana Add a custom field to a project
addCustomFieldSettingForProject 3 params body → 200400401403404500
POST
/projects/{project_gid}/removeCustomFieldSetting
Asana Remove a custom field from a project
removeCustomFieldSettingForProject 2 params body → 200400401403404500
GET
/projects/{project_gid}/task_counts
Asana Get task count of a project
getTaskCountsForProject 3 params → 200400401403404500
POST
/projects/{project_gid}/addMembers
Asana Add users to a project
addMembersForProject 3 params body → 200400401403404500
POST
/projects/{project_gid}/removeMembers
Asana Remove users from a project
removeMembersForProject 3 params body → 200400401403404500
POST
/projects/{project_gid}/addFollowers
Asana Add followers to a project
addFollowersForProject 3 params body → 200400401403404500
POST
/projects/{project_gid}/removeFollowers
Asana Remove followers from a project
removeFollowersForProject 3 params body → 200400401403404500
POST
/projects/{project_gid}/saveAsTemplate
Asana Create a project template from a project
projectSaveAsTemplate 3 params body → 201400401403404500

Schemas 38

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

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
CustomFieldSettingResponse
ProjectStatusBase
JobResponse
ProjectBriefCompact
object
A Project Brief allows you to explain the what and why of the project to your team.
2 properties
AddFollowersRequest
object
1 property 1 required
ProjectSaveAsTemplateRequest
object
4 properties 2 required
ProjectRequest
TaskCountResponse
object
A response object returned from the task count endpoint.
6 properties
Error
object
3 properties
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
ProjectUpdateRequest
AddCustomFieldSettingRequest
object
4 properties 1 required
TeamCompact
object
A team is used to group related projects and people together within an organization. Each project in an organization is associated with a team.
3 properties
RemoveMembersRequest
object
1 property 1 required
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
RemoveCustomFieldSettingRequest
object
1 property 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
CustomFieldSettingCompact
object
Custom Fields Settings objects represent the many-to-many join of the Custom Field and Project as well as stores information that is relevant to that particula…
2 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
ProjectStatusResponse
ProjectResponse
AddMembersRequest
object
1 property 1 required
CustomFieldSettingBase
UserCompact
object
A user object represents an account in Asana that can be given access to various workspaces, projects, and tasks.
3 properties
CustomFieldResponse
StatusUpdateCompact
object
A status update is an update on the progress of a particular project, portfolio, or goal, and is sent out to all of its parent's followers when created. These…
4 properties
RemoveFollowersRequest
object
1 property 1 required
WorkspaceCompact
object
A workspace is the highest-level organizational unit in Asana. All projects and tasks have an associated workspace.
3 properties
CustomFieldBase
ProjectBase
ProjectStatusCompact
object
Deprecated: new integrations should prefer the statusupdate resource. A project status is an update on the progress of a particular project, and is sent out to…
3 properties
JobBase
ProjectDuplicateRequest
object
4 properties 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

asana-projects-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 Projects 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.