Asana · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Asana Projects API
20 actions
20 updates
phrasing
extends
openapi/asana-projects-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 20 · first 16 shown; the file carries all of them
$.info
$.paths['/projects'].get
$.paths['/projects'].post
$.paths['/projects/{project_gid}'].get
$.paths['/projects/{project_gid}'].put
$.paths['/projects/{project_gid}'].delete
$.paths['/projects/{project_gid}/duplicate'].post
$.paths['/tasks/{task_gid}/projects'].get
$.paths['/teams/{team_gid}/projects'].get
$.paths['/teams/{team_gid}/projects'].post
$.paths['/workspaces/{workspace_gid}/projects'].get
$.paths['/workspaces/{workspace_gid}/projects'].post
$.paths['/projects/{project_gid}/addCustomFieldSetting'].post
$.paths['/projects/{project_gid}/removeCustomFieldSetting'].post
$.paths['/projects/{project_gid}/task_counts'].get
$.paths['/projects/{project_gid}/addMembers'].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 Projects API
version: 1.0.0
extends: openapi/asana-projects-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: 19
- target: $.paths['/projects'].get
update:
x-apievangelist-phrasing:
intent: List projects filtered by workspace or team
effect: read
questions:
- How do I list projects across a workspace or team?
- Can I exclude archived projects when listing projects?
instructions:
- text: List the projects in workspace {workspace}.
slots:
workspace: query.workspace
- text: Show projects for team {team} where archived is {archived}.
slots:
team: query.team
archived: query.archived
method: generated
generated: '2026-10-01'
- target: $.paths['/projects'].post
update:
x-apievangelist-phrasing:
intent: Create a project
effect: write
questions:
- How do I create a new project in Asana?
- Can a project's workspace be changed after it's created?
instructions:
- text: Create a new project called {project}.
slots:
project: requestBody.data
- text: 'Set up a new project with these settings: {fields}.'
slots:
fields: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/projects/{project_gid}'].get
update:
x-apievangelist-phrasing:
intent: Get a project's details
effect: read
questions:
- What does the full record for one project include?
- Can I look up a project's owner and due date by its ID?
instructions:
- text: Show the details of project {project}.
slots:
project: path.project_gid
- text: Fetch the complete record for project {project}.
slots:
project: path.project_gid
method: generated
generated: '2026-10-01'
- target: $.paths['/projects/{project_gid}'].put
update:
x-apievangelist-phrasing:
intent: Update a project's settings
effect: write
questions:
- How can I rename a project or change its owner?
- Can I archive a project by updating it?
instructions:
- text: Archive project {project}.
slots:
project: path.project_gid
- text: Update project {project} with {changes}.
slots:
project: path.project_gid
changes: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/projects/{project_gid}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a project
effect: destructive
questions:
- What happens when I delete a project?
- Can I remove a project permanently through the API?
instructions:
- text: Delete project {project}.
slots:
project: path.project_gid
- text: Remove project {project} for good.
slots:
project: path.project_gid
method: generated
generated: '2026-10-01'
- target: $.paths['/projects/{project_gid}/duplicate'].post
update:
x-apievangelist-phrasing:
intent: Duplicate a project
effect: write
questions:
- Can I copy a whole project including its tasks and members?
- Does duplicating a project return a job I have to poll?
instructions:
- text: Duplicate project {project} as {new_project}.
slots:
project: path.project_gid
new_project: requestBody.data
- text: Make a copy of project {project}.
slots:
project: path.project_gid
method: generated
generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/projects'].get
update:
x-apievangelist-phrasing:
intent: List the projects a task belongs to
effect: read
questions:
- Which projects is a given task part of?
- Can I see every project a task has been multi-homed into?
instructions:
- text: List the projects that task {task} is in.
slots:
task: path.task_gid
- text: Show which projects contain task {task}.
slots:
task: path.task_gid
method: generated
generated: '2026-10-01'
- target: $.paths['/teams/{team_gid}/projects'].get
update:
x-apievangelist-phrasing:
intent: List a team's projects
effect: read
questions:
- What projects does a particular team own?
- Can I list only a team's archived projects?
instructions:
- text: List the projects for team {team}.
slots:
team: path.team_gid
- text: Show team {team}'s projects with archived set to {archived}.
slots:
team: path.team_gid
archived: query.archived
method: generated
generated: '2026-10-01'
- target: $.paths['/teams/{team_gid}/projects'].post
update:
x-apievangelist-phrasing:
intent: Create a project shared with a team
effect: write
questions:
- How do I create a project that belongs to a specific team?
- Can I make a new project directly under a team?
instructions:
- text: Create a project named {project} in team {team}.
slots:
team: path.team_gid
project: requestBody.data
- text: Start a new team project for team {team} with {fields}.
slots:
team: path.team_gid
fields: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/workspaces/{workspace_gid}/projects'].get
update:
x-apievangelist-phrasing:
intent: List all projects in a workspace
effect: read
questions:
- Can I get every project in a workspace in one list?
- Why might listing all of a large workspace's projects time out?
instructions:
- text: List all projects in workspace {workspace}.
slots:
workspace: path.workspace_gid
- text: Show workspace {workspace}'s projects where archived is {archived}.
slots:
workspace: path.workspace_gid
archived: query.archived
method: generated
generated: '2026-10-01'
- target: $.paths['/workspaces/{workspace_gid}/projects'].post
update:
x-apievangelist-phrasing:
intent: Create a project in a workspace
effect: write
questions:
- Do I need to supply a team when creating a project in an organization workspace?
- How do I create a project scoped directly to a workspace?
instructions:
- text: Create a project named {project} in workspace {workspace}.
slots:
workspace: path.workspace_gid
project: requestBody.data
- text: Add a new workspace project to {workspace} with {fields}.
slots:
workspace: path.workspace_gid
fields: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/projects/{project_gid}/addCustomFieldSetting'].post
update:
x-apievangelist-phrasing:
intent: Add a custom field to a project
effect: write
questions:
- How do I attach a custom field to a project?
- Can I make a custom field important on a project when I add it?
instructions:
- text: Add custom field {custom_field} to project {project}.
slots:
project: path.project_gid
custom_field: requestBody.data
- text: Attach the field {custom_field} to project {project}'s columns.
slots:
project: path.project_gid
custom_field: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/projects/{project_gid}/removeCustomFieldSetting'].post
update:
x-apievangelist-phrasing:
intent: Remove a custom field from a project
effect: write
questions:
- Can I detach a custom field from a project without deleting the field?
- What's the way to drop a custom field column from one project?
instructions:
- text: Remove custom field {custom_field} from project {project}.
slots:
project: path.project_gid
custom_field: requestBody.data
- text: Detach field {custom_field} from project {project}.
slots:
project: path.project_gid
custom_field: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/projects/{project_gid}/task_counts'].get
update:
x-apievangelist-phrasing:
intent: Count a project's tasks
effect: read
questions:
- How many tasks, completed and incomplete, does a project have?
- Why does the task count come back empty unless I opt in to fields?
instructions:
- text: Count the tasks in project {project}.
slots:
project: path.project_gid
- text: Get completed and incomplete task counts for project {project} with fields {fields}.
slots:
project: path.project_gid
fields: query.opt_fields
method: generated
generated: '2026-10-01'
- target: $.paths['/projects/{project_gid}/addMembers'].post
update:
x-apievangelist-phrasing:
intent: Add members to a project
effect: write
questions:
- How do I give users access to a project?
- Will adding someone as a project member also make them a follower?
instructions:
- text: Add members {users} to project {project}.
slots:
project: path.project_gid
users: requestBody.data
- text: Give users {users} membership in project {project}.
slots:
project: path.project_gid
users: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/projects/{project_gid}/removeMembers'].post
update:
x-apievangelist-phrasing:
intent: Remove members from a project
effect: write
questions:
- Can I take users out of a project's membership?
- How do I revoke someone's membership in a project?
instructions:
- text: Remove members {users} from project {project}.
slots:
project: path.project_gid
users: requestBody.data
- text: Take users {users} off project {project}'s member list.
slots:
project: path.project_gid
users: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/projects/{project_gid}/addFollowers'].post
update:
x-apievangelist-phrasing:
intent: Add followers to a project
effect: write
questions:
- How do I get users notified when tasks are added to a project?
- Can I make project members follow the project?
instructions:
- text: Add followers {users} to project {project}.
slots:
project: path.project_gid
users: requestBody.data
- text: Have {users} follow project {project} for new-task notifications.
slots:
project: path.project_gid
users: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/projects/{project_gid}/removeFollowers'].post
update:
x-apievangelist-phrasing:
intent: Remove followers from a project
effect: write
questions:
- Does removing a project follower also remove their membership?
- How do I stop users from following a project?
instructions:
- text: Remove followers {users} from project {project}.
slots:
project: path.project_gid
users: requestBody.data
- text: Stop {users} following project {project} but keep them as members.
slots:
project: path.project_gid
users: requestBody.data
method: generated
generated: '2026-10-01'
- target: $.paths['/projects/{project_gid}/saveAsTemplate'].post
update:
x-apievangelist-phrasing:
intent: Save a project as a project template
effect: write
questions:
- Can I turn an existing project into a reusable template?
- Is creating a template from a project an asynchronous job?
instructions:
- text: Save project {project} as a template named {template}.
slots:
project: path.project_gid
template: requestBody.data
- text: Create a project template from project {project}.
slots:
project: path.project_gid
method: generated
generated: '2026-10-01'