Asana · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Asana Portfolios API
13 actions
13 updates
phrasing
extends
openapi/asana-portfolios-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Asana's API. It is a proposal applied on top of the contract, not a document Asana publishes.
What the actions change
x-apievangelist-phrasing
Targets 13
$.info
$.paths['/portfolios'].get
$.paths['/portfolios'].post
$.paths['/portfolios/{portfolio_gid}'].get
$.paths['/portfolios/{portfolio_gid}'].put
$.paths['/portfolios/{portfolio_gid}'].delete
$.paths['/portfolios/{portfolio_gid}/items'].get
$.paths['/portfolios/{portfolio_gid}/addItem'].post
$.paths['/portfolios/{portfolio_gid}/removeItem'].post
$.paths['/portfolios/{portfolio_gid}/addCustomFieldSetting'].post
$.paths['/portfolios/{portfolio_gid}/removeCustomFieldSetting'].post
$.paths['/portfolios/{portfolio_gid}/addMembers'].post
$.paths['/portfolios/{portfolio_gid}/removeMembers'].post
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for Asana Portfolios API
version: 1.0.0
extends: openapi/asana-portfolios-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 12
- target: $.paths['/portfolios'].get
update:
x-apievangelist-phrasing:
intent: List portfolios I own in a workspace
effect: read
questions:
- Which portfolios do I own in a workspace?
- Can I list portfolios for a specific owner?
instructions:
- text: List my portfolios in workspace {workspace}.
slots:
workspace: query.workspace
- text: Show portfolios in workspace {workspace} owned by {owner}.
slots:
workspace: query.workspace
owner: query.owner
method: generated
generated: '2026-10-01'
- target: $.paths['/portfolios'].post
update:
x-apievangelist-phrasing:
intent: Create a portfolio
effect: write
questions:
- 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?
instructions:
- text: Create a portfolio named {portfolio} in my workspace.
slots:
portfolio: requestBody.data
- text: Set up a new portfolio with {fields}.
slots:
fields: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/portfolios/{portfolio_gid}'].get
update:
x-apievangelist-phrasing:
intent: Get a portfolio's details
effect: read
questions:
- What's in the full record of a portfolio?
- Can I look up a portfolio's owner and color by ID?
instructions:
- text: Show the details of portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
- text: Fetch portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
method: generated
generated: '2026-10-01'
- target: $.paths['/portfolios/{portfolio_gid}'].put
update:
x-apievangelist-phrasing:
intent: Update a portfolio
effect: write
questions:
- Can I rename a portfolio or change its color?
- Which portfolio fields stay unchanged when I send a partial update?
instructions:
- text: Rename portfolio {portfolio} to {name}.
slots:
portfolio: path.portfolio_gid
name: requestBody.data
- text: Update portfolio {portfolio} with {changes}.
slots:
portfolio: path.portfolio_gid
changes: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/portfolios/{portfolio_gid}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a portfolio
effect: destructive
questions:
- Can I delete a portfolio I no longer use?
- What does deleting a portfolio return?
instructions:
- text: Delete portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
- text: Remove portfolio {portfolio} permanently.
slots:
portfolio: path.portfolio_gid
method: generated
generated: '2026-10-01'
- target: $.paths['/portfolios/{portfolio_gid}/items'].get
update:
x-apievangelist-phrasing:
intent: List the projects in a portfolio
effect: read
questions:
- Which projects are inside a portfolio?
- Can I page through a portfolio's items?
instructions:
- text: List the items in portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
- text: Show the projects tracked by portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
method: generated
generated: '2026-10-01'
- target: $.paths['/portfolios/{portfolio_gid}/addItem'].post
update:
x-apievangelist-phrasing:
intent: Add a project to a portfolio
effect: write
questions:
- How do I put a project into a portfolio?
- Can I control where an item lands in a portfolio's order?
instructions:
- text: Add project {item} to portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
item: requestBody.data
- text: Track item {item} in portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
item: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/portfolios/{portfolio_gid}/removeItem'].post
update:
x-apievangelist-phrasing:
intent: Remove a project from a portfolio
effect: write
questions:
- Can I take a project out of a portfolio without deleting it?
- How do I stop tracking an item in a portfolio?
instructions:
- text: Remove item {item} from portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
item: requestBody.data
- text: Take project {item} out of portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
item: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/portfolios/{portfolio_gid}/addCustomFieldSetting'].post
update:
x-apievangelist-phrasing:
intent: Add a custom field to a portfolio
effect: write
questions:
- How do I add a custom field column to a portfolio?
- Can portfolios have their own custom fields?
instructions:
- text: Add custom field {custom_field} to portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
custom_field: requestBody.data
- text: Attach field {custom_field} to portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
custom_field: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/portfolios/{portfolio_gid}/removeCustomFieldSetting'].post
update:
x-apievangelist-phrasing:
intent: Remove a custom field from a portfolio
effect: write
questions:
- Can I detach a custom field from a portfolio?
- What's the way to drop a field column from a portfolio?
instructions:
- text: Remove custom field {custom_field} from portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
custom_field: requestBody.data
- text: Detach field {custom_field} from portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
custom_field: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/portfolios/{portfolio_gid}/addMembers'].post
update:
x-apievangelist-phrasing:
intent: Add users to a portfolio
effect: write
questions:
- How do I share a portfolio with teammates?
- Can I add several users to a portfolio at once?
instructions:
- text: Add users {users} to portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
users: requestBody.data
- text: Share portfolio {portfolio} with members {users}.
slots:
portfolio: path.portfolio_gid
users: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/portfolios/{portfolio_gid}/removeMembers'].post
update:
x-apievangelist-phrasing:
intent: Remove users from a portfolio
effect: write
questions:
- Can I revoke someone's access to a portfolio?
- What's returned after users are removed from a portfolio?
instructions:
- text: Remove users {users} from portfolio {portfolio}.
slots:
portfolio: path.portfolio_gid
users: requestBody.data
- text: Revoke portfolio {portfolio} access for {users}.
slots:
portfolio: path.portfolio_gid
users: requestBody.data
method: generated
generated: '2026-10-01'