Asana · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Asana Tasks API

29 actions 29 updates phrasing extends openapi/asana-tasks-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.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 29 · first 16 shown; the file carries all of them

$.info
$.paths['/tasks/{task_gid}/tags'].get
$.paths['/tasks'].get
$.paths['/tasks'].post
$.paths['/tasks/{task_gid}'].get
$.paths['/tasks/{task_gid}'].put
$.paths['/tasks/{task_gid}'].delete
$.paths['/tasks/{task_gid}/duplicate'].post
$.paths['/projects/{project_gid}/tasks'].get
$.paths['/sections/{section_gid}/tasks'].get
$.paths['/tags/{tag_gid}/tasks'].get
$.paths['/user_task_lists/{user_task_list_gid}/tasks'].get
$.paths['/tasks/{task_gid}/subtasks'].get
$.paths['/tasks/{task_gid}/subtasks'].post
$.paths['/tasks/{task_gid}/setParent'].post
$.paths['/tasks/{task_gid}/dependencies'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Asana Tasks API
  version: 1.0.0
extends: openapi/asana-tasks-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: 28
- target: $.paths['/tasks/{task_gid}/tags'].get
  update:
    x-apievangelist-phrasing:
      intent: List the tags on a task
      effect: read
      questions:
      - Which tags have been applied to a particular Asana task?
      - Can I see every label attached to one task?
      instructions:
      - text: Show the tags on task {task}.
        slots:
          task: path.task_gid
      - text: List the labels attached to task {task}.
        slots:
          task: path.task_gid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List tasks filtered by project, assignee or section
      effect: read
      questions:
      - How do I list tasks assigned to someone in a workspace?
      - Can I fetch only tasks modified since a certain date?
      - What filter do I need when pulling a filtered set of tasks without a project?
      instructions:
      - text: List tasks assigned to {assignee} in workspace {workspace}.
        slots:
          assignee: query.assignee
          workspace: query.workspace
      - text: Get the tasks in project {project} that are incomplete or completed since {completed_since}.
        slots:
          project: query.project
          completed_since: query.completed_since
      - text: Pull tasks changed since {modified_since} in section {section}.
        slots:
          modified_since: query.modified_since
          section: query.section
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new task
      effect: write
      questions:
      - How do I create a new task in Asana?
      - Can I set the assignee, due date and project when I add a task?
      instructions:
      - text: Create a task called {task} in my workspace.
        slots:
          task: requestBody.data
      - text: 'Add a new to-do with these details: {fields}.'
        slots:
          fields: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the full details of a task
      effect: read
      questions:
      - What does the full record of one task include?
      - Can I look up a task's notes, assignee and due date by its ID?
      instructions:
      - text: Show me the details of task {task}.
        slots:
          task: path.task_gid
      - text: Fetch the complete record for task {task}.
        slots:
          task: path.task_gid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a task's fields
      effect: write
      questions:
      - How can I change the due date or assignee on an existing task?
      - Can I mark a task complete through the API?
      instructions:
      - text: Mark task {task} as complete.
        slots:
          task: path.task_gid
      - text: 'Change task {task} with these updates: {changes}.'
        slots:
          task: path.task_gid
          changes: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a task
      effect: destructive
      questions:
      - What happens to a task after I delete it — can it be recovered from trash?
      - Can I remove a task I no longer need?
      instructions:
      - text: Delete task {task}.
        slots:
          task: path.task_gid
      - text: Move task {task} to the trash.
        slots:
          task: path.task_gid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/duplicate'].post
  update:
    x-apievangelist-phrasing:
      intent: Duplicate a task
      effect: write
      questions:
      - Can I copy an existing task, including its subtasks and attachments?
      - Is duplicating a task done as a background job?
      instructions:
      - text: Duplicate task {task} with the name {settings}.
        slots:
          task: path.task_gid
          settings: requestBody.data
      - text: Make a copy of task {task}.
        slots:
          task: path.task_gid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/projects/{project_gid}/tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List the tasks in a project
      effect: read
      questions:
      - How do I list every task in a project in priority order?
      - Can I limit a project's task list to tasks not yet done?
      instructions:
      - text: List the tasks in project {project}.
        slots:
          project: path.project_gid
      - text: Show tasks in project {project} completed since {since} or still open.
        slots:
          project: path.project_gid
          since: query.completed_since
      method: generated
      generated: '2026-10-01'
- target: $.paths['/sections/{section_gid}/tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List the tasks in a board section
      effect: read
      questions:
      - Which tasks sit in a particular column of my board?
      - Can I list only the cards in one board section?
      instructions:
      - text: List the tasks in section {section}.
        slots:
          section: path.section_gid
      - text: Show open tasks in board column {section} completed since {since}.
        slots:
          section: path.section_gid
          since: query.completed_since
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tags/{tag_gid}/tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List tasks that have a tag
      effect: read
      questions:
      - Which tasks carry a specific tag?
      - Can I find everything labeled with one tag?
      instructions:
      - text: List the tasks tagged {tag}.
        slots:
          tag: path.tag_gid
      - text: Show every task that has tag {tag} applied.
        slots:
          tag: path.tag_gid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/user_task_lists/{user_task_list_gid}/tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List the tasks in someone's My Tasks
      effect: read
      questions:
      - What tasks are on a user's My Tasks list?
      - Can I pull only incomplete items from someone's My Tasks?
      instructions:
      - text: List the tasks in user task list {list}.
        slots:
          list: path.user_task_list_gid
      - text: Show My Tasks items from list {list} that are open or completed since {since}.
        slots:
          list: path.user_task_list_gid
          since: query.completed_since
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/subtasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List a task's subtasks
      effect: read
      questions:
      - How do I see the subtasks under a task?
      - Can I get the child tasks broken out of a parent task?
      instructions:
      - text: List the subtasks of task {task}.
        slots:
          task: path.task_gid
      - text: Show the child tasks under task {task}.
        slots:
          task: path.task_gid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/subtasks'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a subtask under a task
      effect: write
      questions:
      - How do I add a subtask to an existing task?
      - Can I break a task into smaller subtasks via the API?
      instructions:
      - text: Add a subtask named {subtask} under task {task}.
        slots:
          task: path.task_gid
          subtask: requestBody.data
      - text: 'Create a child task beneath task {task} with these details: {fields}.'
        slots:
          task: path.task_gid
          fields: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/setParent'].post
  update:
    x-apievangelist-phrasing:
      intent: Change a task's parent task
      effect: write
      questions:
      - Can I turn a standalone task into a subtask of another task?
      - Is there a way to move a subtask to a different parent or remove its parent?
      instructions:
      - text: Make task {task} a subtask of {parent}.
        slots:
          task: path.task_gid
          parent: requestBody.data
      - text: Detach task {task} from its parent so it has no parent task.
        slots:
          task: path.task_gid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/dependencies'].get
  update:
    x-apievangelist-phrasing:
      intent: List what a task is waiting on
      effect: read
      questions:
      - Which tasks must be finished before this one can start?
      - Can I see the dependencies blocking a task?
      instructions:
      - text: List the dependencies of task {task}.
        slots:
          task: path.task_gid
      - text: Show which tasks task {task} is blocked by.
        slots:
          task: path.task_gid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/addDependencies'].post
  update:
    x-apievangelist-phrasing:
      intent: Mark tasks as blockers of a task
      effect: write
      questions:
      - How do I say a task can't start until other tasks are done?
      - Is there a cap on how many dependencies and dependents a task can have?
      instructions:
      - text: Make task {task} depend on tasks {dependencies}.
        slots:
          task: path.task_gid
          dependencies: requestBody.data
      - text: Mark {dependencies} as blocking task {task}.
        slots:
          task: path.task_gid
          dependencies: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/removeDependencies'].post
  update:
    x-apievangelist-phrasing:
      intent: Unlink blocking tasks from a task
      effect: write
      questions:
      - Can I remove a blocker from a task's dependencies?
      - How do I stop a task from waiting on another task?
      instructions:
      - text: Unlink dependencies {dependencies} from task {task}.
        slots:
          task: path.task_gid
          dependencies: requestBody.data
      - text: Remove the blockers {dependencies} on task {task}.
        slots:
          task: path.task_gid
          dependencies: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/dependents'].get
  update:
    x-apievangelist-phrasing:
      intent: List tasks waiting on a task
      effect: read
      questions:
      - Which tasks are blocked until this task is done?
      - Can I see the downstream dependents of a task?
      instructions:
      - text: List the dependents of task {task}.
        slots:
          task: path.task_gid
      - text: Show which tasks are waiting on task {task}.
        slots:
          task: path.task_gid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/addDependents'].post
  update:
    x-apievangelist-phrasing:
      intent: Mark tasks as waiting on a task
      effect: write
      questions:
      - How do I make other tasks wait on this one?
      - Can I add several downstream dependents to a task at once?
      instructions:
      - text: Make tasks {dependents} dependents of task {task}.
        slots:
          task: path.task_gid
          dependents: requestBody.data
      - text: Set {dependents} to wait until task {task} is finished.
        slots:
          task: path.task_gid
          dependents: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/removeDependents'].post
  update:
    x-apievangelist-phrasing:
      intent: Unlink waiting tasks from a task
      effect: write
      questions:
      - Can I remove a dependent task so it no longer waits on this one?
      - How do I unlink downstream tasks from a blocker?
      instructions:
      - text: Unlink dependents {dependents} from task {task}.
        slots:
          task: path.task_gid
          dependents: requestBody.data
      - text: Stop tasks {dependents} from waiting on task {task}.
        slots:
          task: path.task_gid
          dependents: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/addProject'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a task to a project
      effect: write
      questions:
      - Can one task live in more than one project?
      - How do I put an existing task into a project at a specific position or section?
      instructions:
      - text: Add task {task} to project {project}.
        slots:
          task: path.task_gid
          project: requestBody.data
      - text: Put task {task} into another project with placement {placement}.
        slots:
          task: path.task_gid
          placement: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/removeProject'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove a task from a project
      effect: write
      questions:
      - Does removing a task from a project delete the task?
      - How do I take a task out of one of its projects?
      instructions:
      - text: Remove task {task} from project {project}.
        slots:
          task: path.task_gid
          project: requestBody.data
      - text: Take task {task} out of project {project} but keep the task.
        slots:
          task: path.task_gid
          project: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/addTag'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a tag to a task
      effect: write
      questions:
      - How do I tag a task?
      - Can I apply an existing tag to a task?
      instructions:
      - text: Add tag {tag} to task {task}.
        slots:
          task: path.task_gid
          tag: requestBody.data
      - text: Label task {task} with tag {tag}.
        slots:
          task: path.task_gid
          tag: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/removeTag'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove a tag from a task
      effect: write
      questions:
      - Can I take a tag off a task without deleting the tag?
      - What's the way to untag a single task?
      instructions:
      - text: Remove tag {tag} from task {task}.
        slots:
          task: path.task_gid
          tag: requestBody.data
      - text: Untag task {task} by removing {tag}.
        slots:
          task: path.task_gid
          tag: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/addFollowers'].post
  update:
    x-apievangelist-phrasing:
      intent: Add followers to a task
      effect: write
      questions:
      - How do I add collaborators who get notified about a task?
      - Can I add several followers to a task in one call?
      instructions:
      - text: Add followers {followers} to task {task}.
        slots:
          task: path.task_gid
          followers: requestBody.data
      - text: Subscribe {followers} to updates on task {task}.
        slots:
          task: path.task_gid
          followers: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/tasks/{task_gid}/removeFollowers'].post
  update:
    x-apievangelist-phrasing:
      intent: Remove followers from a task
      effect: write
      questions:
      - Can I stop someone from following a task?
      - What's returned after followers are taken off a task?
      instructions:
      - text: Remove followers {followers} from task {task}.
        slots:
          task: path.task_gid
          followers: requestBody.data
      - text: Unsubscribe {followers} from task {task}.
        slots:
          task: path.task_gid
          followers: requestBody.data
      method: generated
      generated: '2026-10-01'
- target: $.paths['/workspaces/{workspace_gid}/tasks/custom_id/{custom_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a task by its custom ID
      effect: read
      questions:
      - Can I find a task using its custom ID shortcode instead of its gid?
      - How do I resolve a ticket-style custom ID to the actual task?
      instructions:
      - text: Find the task with custom ID {custom_id} in workspace {workspace}.
        slots:
          custom_id: path.custom_id
          workspace: path.workspace_gid
      - text: Look up task {custom_id} by its shortcode in workspace {workspace}.
        slots:
          custom_id: path.custom_id
          workspace: path.workspace_gid
      method: generated
      generated: '2026-10-01'
- target: $.paths['/workspaces/{workspace_gid}/tasks/search'].get
  update:
    x-apievangelist-phrasing:
      intent: Search tasks in a workspace with advanced filters
      effect: read
      questions:
      - Can I search tasks by text, due date range and assignee like advanced search in the app?
      - Which tasks in my workspace are blocked or overdue?
      - Is it possible to sort task search results by due date or modification time?
      instructions:
      - text: Search workspace {workspace} for tasks matching {text}.
        slots:
          workspace: path.workspace_gid
          text: query.text
      - text: Find incomplete tasks in workspace {workspace} due before {due_before}.
        slots:
          workspace: path.workspace_gid
          due_before: query.due_on.before
      - text: Search workspace {workspace} for tasks in projects {projects} that have attachments.
        slots:
          workspace: path.workspace_gid
          projects: query.projects.any
      method: generated
      generated: '2026-10-01'