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.

Business capability
Portfolio Management BC-900.10

Operations 12

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /portfolios List portfolios I own in a workspace · Asana Get multiple portfolios #
Ask an LLM
“Which portfolios do I own in a workspace?”
“Can I list portfolios for a specific owner?”
Tell an agent
List my portfolios in workspace {workspace}.
Show portfolios in workspace {workspace} owned by {owner}.
POST /portfolios Create a portfolio · Asana Create a portfolio #
Ask an LLM
“How do I create a portfolio in Asana?”
“Do portfolios made through the API get the same default views as ones made in the UI?”
Tell an agent
Create a portfolio named {portfolio} in my workspace.
Set up a new portfolio with {fields}.
GET /portfolios/{portfolio_gid} Get a portfolio's details · Asana Get a portfolio #
Ask an LLM
“What's in the full record of a portfolio?”
“Can I look up a portfolio's owner and color by ID?”
Tell an agent
Show the details of portfolio {portfolio}.
Fetch portfolio {portfolio}.
PUT /portfolios/{portfolio_gid} Update a portfolio · Asana Update a portfolio #
Ask an LLM
“Can I rename a portfolio or change its color?”
“Which portfolio fields stay unchanged when I send a partial update?”
Tell an agent
Rename portfolio {portfolio} to {name}.
Update portfolio {portfolio} with {changes}.
DELETE /portfolios/{portfolio_gid} Delete a portfolio · Asana Delete a portfolio #
Ask an LLM
“Can I delete a portfolio I no longer use?”
“What does deleting a portfolio return?”
Tell an agent destructive · confirm first
Delete portfolio {portfolio}.
Remove portfolio {portfolio} permanently.
GET /portfolios/{portfolio_gid}/items List the projects in a portfolio · Asana Get portfolio items #
Ask an LLM
“Which projects are inside a portfolio?”
“Can I page through a portfolio's items?”
Tell an agent
List the items in portfolio {portfolio}.
Show the projects tracked by portfolio {portfolio}.
POST /portfolios/{portfolio_gid}/addItem Add a project to a portfolio · Asana Add a portfolio item #
Ask an LLM
“How do I put a project into a portfolio?”
“Can I control where an item lands in a portfolio's order?”
Tell an agent
Add project {item} to portfolio {portfolio}.
Track item {item} in portfolio {portfolio}.
POST /portfolios/{portfolio_gid}/removeItem Remove a project from a portfolio · Asana Remove a portfolio item #
Ask an LLM
“Can I take a project out of a portfolio without deleting it?”
“How do I stop tracking an item in a portfolio?”
Tell an agent
Remove item {item} from portfolio {portfolio}.
Take project {item} out of portfolio {portfolio}.
POST /portfolios/{portfolio_gid}/addCustomFieldSetting Add a custom field to a portfolio · Asana Add a custom field to a portfolio #
Ask an LLM
“How do I add a custom field column to a portfolio?”
“Can portfolios have their own custom fields?”
Tell an agent
Add custom field {custom_field} to portfolio {portfolio}.
Attach field {custom_field} to portfolio {portfolio}.
POST /portfolios/{portfolio_gid}/removeCustomFieldSetting Remove a custom field from a portfolio · Asana Remove a custom field from a portfolio #
Ask an LLM
“Can I detach a custom field from a portfolio?”
“What's the way to drop a field column from a portfolio?”
Tell an agent
Remove custom field {custom_field} from portfolio {portfolio}.
Detach field {custom_field} from portfolio {portfolio}.
POST /portfolios/{portfolio_gid}/addMembers Add users to a portfolio · Asana Add users to a portfolio #
Ask an LLM
“How do I share a portfolio with teammates?”
“Can I add several users to a portfolio at once?”
Tell an agent
Add users {users} to portfolio {portfolio}.
Share portfolio {portfolio} with members {users}.
POST /portfolios/{portfolio_gid}/removeMembers Remove users from a portfolio · Asana Remove users from a portfolio #
Ask an LLM
“Can I revoke someone's access to a portfolio?”
“What's returned after users are removed from a portfolio?”
Tell an agent
Remove users {users} from portfolio {portfolio}.
Revoke portfolio {portfolio} access for {users}.

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/asana:asana-portfolios-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

asana-portfolios-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  description: This is the interface for interacting with the Asana Platform. Our API reference is generated from our [OpenAPI spec] (https://raw.githubusercontent.com/Asana/openapi/master/defs/asana_oas.yaml).
  x-public-description: This is the interface for interacting with the [Asana Platform](https://developers.asana.com). Our API reference is generated from our [OpenAPI spec] (https://raw.githubusercontent.com/Asana/openapi/master/defs/asana_oas.yaml).
  title: Asana Portfolios API
  termsOfService: https://asana.com/terms
  contact:
    name: Asana Support
    url: https://asana.com/support
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  version: '1.0'
  x-docs-schema-whitelist:
  - AsanaResource
  - AsanaNamedResource
  - AuditLogEvent
  - AttachmentResponse
  - AttachmentCompact
  - BatchResponse
  - CustomFieldSettingResponse
  - CustomFieldSettingCompact
  - CustomFieldResponse
  - CustomFieldCompact
  - EnumOption
  - EventResponse
  - ErrorResponse
  - GoalResponse
  - GoalCompact
  - GoalMembershipCompact
  - GoalMembershipBase
  - GoalMembershipResponse
  - GoalRelationshipResponse
  - GoalRelationshipCompact
  - JobResponse
  - JobCompact
  - OrganizationExportResponse
  - OrganizationExportCompact
  - PortfolioMembershipResponse
  - PortfolioMembershipCompact
  - PortfolioResponse
  - PortfolioCompact
  - ProjectBriefResponse
  - ProjectBriefCompact
  - ProjectMembershipCompactResponse
  - ProjectMembershipNormalResponse
  - ProjectMembershipCompact
  - ProjectResponse
  - ProjectCompact
  - ProjectStatusResponse
  - ProjectStatusCompact
  - ProjectTemplateCompact
  - ProjectTemplateResponse
  - RuleTriggerResponse
  - SectionResponse
  - SectionCompact
  - StatusUpdateResponse
  - StatusUpdateCompact
  - StoryResponse
  - StoryCompact
  - TagResponse
  - TagCompact
  - TaskResponse
  - TaskCompact
  - TaskCountResponse
  - TeamMembershipResponse
  - TeamMembershipCompact
  - TeamResponse
  - TeamCompact
  - TimePeriodResponse
  - TimePeriodCompact
  - UserTaskListResponse
  - UserTaskListCompact
  - UserResponse
  - UserCompact
  - WebhookFilter
  - WebhookResponse
  - WebhookCompact
  - WorkspaceMembershipResponse
  - WorkspaceMembershipCompact
  - WorkspaceResponse
  - WorkspaceCompact
servers:
- url: https://app.asana.com/api/1.0
  description: Main endpoint.
security:
- personalAccessToken: []
- oauth2: []
tags:


# --- truncated at 32 KB (215 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/asana/refs/heads/main/openapi/asana-portfolios-api-openapi.yml