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

Asana Portfolios API allows developers to access and manage portfolios in the Asana platform programmatically. With this API, users can create, update, and delete portfolios, as well as add projects and tasks to them. By using this API, developers can automate portfolio management processes, track progress, and visualize project data in a more efficient manner.

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

The published artifact set on APIs.io includes an OpenAPI specification and API documentation.

This API exposes 12 operations across 9 paths, and defines 26 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.

12 operations 9 paths 26 schemas 1 DELETE3 GET7 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 Portfolios 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 12

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

Portfolios 12

A portfolio gives a high-level overview of the status of multiple initiatives in Asana. Portfolios provide a dashboard overview of the state of multiple projects, including a prog…

GET
/portfolios
Asana Get multiple portfolios
getPortfolios 6 params → 200400401403404500
POST
/portfolios
Asana Create a portfolio
createPortfolio 2 params body → 201400401403404500
GET
/portfolios/{portfolio_gid}
Asana Get a portfolio
getPortfolio 3 params → 200400401403404500
PUT
/portfolios/{portfolio_gid}
Asana Update a portfolio
updatePortfolio 3 params body → 200400401403404500
DELETE
/portfolios/{portfolio_gid}
Asana Delete a portfolio
deletePortfolio 2 params → 200400401403404500
GET
/portfolios/{portfolio_gid}/items
Asana Get portfolio items
getItemsForPortfolio 5 params → 200400401403404500
POST
/portfolios/{portfolio_gid}/addItem
Asana Add a portfolio item
addItemForPortfolio 2 params body → 200400401403404500
POST
/portfolios/{portfolio_gid}/removeItem
Asana Remove a portfolio item
removeItemForPortfolio 2 params body → 200400401403404500
POST
/portfolios/{portfolio_gid}/addCustomFieldSetting
Asana Add a custom field to a portfolio
addCustomFieldSettingForPortfolio 2 params body → 200400401403404500
POST
/portfolios/{portfolio_gid}/removeCustomFieldSetting
Asana Remove a custom field from a portfolio
removeCustomFieldSettingForPortfolio 2 params body → 200400401403404500
POST
/portfolios/{portfolio_gid}/addMembers
Asana Add users to a portfolio
addMembersForPortfolio 3 params body → 200400401403404500
POST
/portfolios/{portfolio_gid}/removeMembers
Asana Remove users from a portfolio
removeMembersForPortfolio 3 params body → 200400401403404500

Schemas 26

The contract defines 26 schemas that model the data the API accepts and returns. The most detailed are CustomFieldCompact (16 properties), EnumOption (5 properties), StatusUpdateCompact (4 properties), AddCustomFieldSettingRequest (4 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
PortfolioRemoveItemRequest
object
1 property 1 required
Error
object
3 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
AddCustomFieldSettingRequest
object
4 properties 1 required
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
CustomFieldSettingBase
PortfolioCompact
object
A portfolio gives a high-level overview of the status of multiple initiatives in Asana. Portfolios provide a dashboard overview of the state of multiple projec…
3 properties
AddMembersRequest
object
1 property 1 required
PortfolioRequest
UserCompact
object
A user object represents an account in Asana that can be given access to various workspaces, projects, and tasks.
3 properties
PortfolioResponse
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
WorkspaceCompact
object
A workspace is the highest-level organizational unit in Asana. All projects and tasks have an associated workspace.
3 properties
PortfolioBase
CustomFieldBase
PortfolioAddItemRequest
object
3 properties 1 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

asana-portfolios-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 Project Templates API
Asana Projects API
Where this information came from

This is an independent, third-party profile of Asana Portfolios 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.