Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Optimizely Tasks API

47 actions 47 updates phrasing extends openapi/optimizely-tasks-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Optimizely's API. It is a proposal applied on top of the contract, not a document Optimizely publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

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

$.info
$.paths['/tasks'].get
$.paths['/tasks'].post
$.paths['/tasks/{taskId}'].get
$.paths['/tasks/{taskId}'].put
$.paths['/tasks/{id}'].get
$.paths['/tasks/{id}'].patch
$.paths['/tasks/{task_id}/urls'].post
$.paths['/tasks/{id}/brief'].get
$.paths['/tasks/{id}/custom-fields'].get
$.paths['/tasks/{task_id}/custom-fields/{custom_field_id}'].get
$.paths['/tasks/{task_id}/custom-fields/{custom_field_id}'].patch
$.paths['/tasks/{task_id}/custom-fields/{custom_field_id}/choices'].get
$.paths['/tasks/{task_id}/fields'].get
$.paths['/tasks/{task_id}/fields'].post
$.paths['/tasks/{task_id}/fields/{field_id}'].put

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 Optimizely Tasks API
  version: 1.0.0
extends: openapi/optimizely-tasks-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 46
- target: $.paths['/tasks'].get
  update:
    x-apievangelist-phrasing:
      intent: List content tasks with their workflow status
      effect: read
      questions:
      - Can I pull a list of all our content tasks and see where each one sits in the workflow?
      - Is the task list paginated with a limit and offset?
      instructions:
      - text: List all content tasks and their current workflow status.
      - text: Show the next {limit} content tasks starting at offset {offset}.
        slots:
          limit: query.limit
          offset: query.offset
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a content task
      effect: write
      questions:
      - How do I open a new content task in Optimizely CMP from code?
      - Can a new task be assigned to someone with a due date and linked to a campaign when it is created?
      instructions:
      - text: Create a new content task titled {title}.
        slots:
          title: requestBody.title
      - text: Create a task called {title} assigned to {assignee_id}, due {due_date}, under campaign {campaign_id}.
        slots:
          title: requestBody.title
          assignee_id: requestBody.assignee_id
          due_date: requestBody.due_date
          campaign_id: requestBody.campaign_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{taskId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a content task by its taskId
      effect: read
      questions:
      - What details come back when I look up a single content task by its taskId?
      - Can I fetch one content task's title, assignee and due date from the taskId endpoint?
      instructions:
      - text: Get the content task with taskId {taskId}.
        slots:
          taskId: path.taskId
      - text: Show me the assignee and due date on content task {taskId}.
        slots:
          taskId: path.taskId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{taskId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a task's title, assignee or due date
      effect: write
      questions:
      - Can I change a task's assignee_id and due_date with a full PUT update?
      - Which fields does the PUT task update accept, like labels and description?
      instructions:
      - text: Reassign task {taskId} to {assignee_id} using the PUT update.
        slots:
          taskId: path.taskId
          assignee_id: requestBody.assignee_id
      - text: Set the due_date of task {taskId} to {due_date} and its description to {description}.
        slots:
          taskId: path.taskId
          due_date: requestBody.due_date
          description: requestBody.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a CMP task by id
      effect: read
      questions:
      - How do I read a CMP task by its id to check its owner, start and due dates?
      - Does the CMP task lookup show which workflow the task follows?
      instructions:
      - text: Get CMP task {id}.
        slots:
          id: path.id
      - text: Look up CMP task {id} and tell me its owner and workflow.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Patch a task's owner, schedule or workflow
      effect: write
      questions:
      - Can I move a task to a different owner or change its start_at and due_at dates with a partial update?
      - Is it possible to switch the workflow a CMP task follows?
      instructions:
      - text: Change the owner of task {id} to {owner_id}.
        slots:
          id: path.id
          owner_id: requestBody.owner_id
      - text: Reschedule task {id} to start at {start_at} and be due at {due_at}.
        slots:
          id: path.id
          start_at: requestBody.start_at
          due_at: requestBody.due_at
      - text: Switch task {id} to workflow {workflow_id}.
        slots:
          id: path.id
          workflow_id: requestBody.workflow_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/urls'].post
  update:
    x-apievangelist-phrasing:
      intent: Attach a URL to a task
      effect: write
      questions:
      - Can I attach a web link to a content task?
      - Is there a way to add a titled URL reference to a task?
      instructions:
      - text: Add the URL {url} to task {task_id}.
        slots:
          url: requestBody.url
          task_id: path.task_id
      - text: Attach link {url} titled {title} to task {task_id}.
        slots:
          url: requestBody.url
          title: requestBody.title
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{id}/brief'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a task's brief
      effect: read
      questions:
      - Where do I read the creative brief written for a task?
      - Can I fetch just the brief of a task without the rest of its details?
      instructions:
      - text: Get the brief for task {id}.
        slots:
          id: path.id
      - text: Show me what the brief says on task {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{id}/custom-fields'].get
  update:
    x-apievangelist-phrasing:
      intent: List custom fields added to a task
      effect: read
      questions:
      - Which custom fields have been added to this task?
      - Can I page through a task's custom fields with page_size?
      instructions:
      - text: List the custom fields on task {id}.
        slots:
          id: path.id
      - text: Show {page_size} custom fields of task {id} starting at offset {offset}.
        slots:
          page_size: query.page_size
          id: path.id
          offset: query.offset
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/custom-fields/{custom_field_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one custom field on a task
      effect: read
      questions:
      - What value is set on a specific custom field of a task?
      - How can I read a single task custom field by its id?
      instructions:
      - text: Get custom field {custom_field_id} on task {task_id}.
        slots:
          custom_field_id: path.custom_field_id
          task_id: path.task_id
      - text: Tell me the current value of custom field {custom_field_id} for task {task_id}.
        slots:
          custom_field_id: path.custom_field_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/custom-fields/{custom_field_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Set the values of a task custom field
      effect: write
      questions:
      - Can I fill in a dropdown or checkbox custom field on a task through the API?
      - What custom field types can be updated on a task, such as date or rich text fields?
      instructions:
      - text: Set custom field {custom_field_id} on task {task_id} to {values}.
        slots:
          custom_field_id: path.custom_field_id
          task_id: path.task_id
          values: requestBody.values
      - text: Select choices {values} in the dropdown custom field {custom_field_id} of task {task_id}.
        slots:
          values: requestBody.values
          custom_field_id: path.custom_field_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/custom-fields/{custom_field_id}/choices'].get
  update:
    x-apievangelist-phrasing:
      intent: List the choices of a task custom field
      effect: read
      questions:
      - What options can I pick from in a task's dropdown custom field?
      - How do I find the choice IDs I need before setting a multi-select field on a task?
      instructions:
      - text: List the available choices for custom field {custom_field_id} on task {task_id}.
        slots:
          custom_field_id: path.custom_field_id
          task_id: path.task_id
      - text: Show {page_size} choices of custom field {custom_field_id} in task {task_id}.
        slots:
          page_size: query.page_size
          custom_field_id: path.custom_field_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/fields'].get
  update:
    x-apievangelist-phrasing:
      intent: List the form fields of a task
      effect: read
      questions:
      - Which form fields does a task currently have, beyond its custom fields?
      - Is there an experimental endpoint to list a task's fields with paging?
      instructions:
      - text: List the fields of task {task_id}.
        slots:
          task_id: path.task_id
      - text: Show {page_size} fields of task {task_id} from offset {offset}.
        slots:
          page_size: query.page_size
          task_id: path.task_id
          offset: query.offset
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/fields'].post
  update:
    x-apievangelist-phrasing:
      intent: Add a field to a task
      effect: write
      questions:
      - Can I add a new form field to an existing task?
      - Is adding fields to a task still an experimental feature?
      instructions:
      - text: Add a new field to task {task_id}.
        slots:
          task_id: path.task_id
      - text: Put an extra form field on task {task_id}.
        slots:
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/fields/{field_id}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a field on a task
      effect: write
      questions:
      - How do I change an existing form field on a task?
      - Can one field of a task be updated without touching its other fields?
      instructions:
      - text: Update field {field_id} on task {task_id}.
        slots:
          field_id: path.field_id
          task_id: path.task_id
      - text: Change the value held in field {field_id} of task {task_id}.
        slots:
          field_id: path.field_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/fields/{field_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a field from a task
      effect: destructive
      questions:
      - Can I take a form field off a task I no longer need?
      - What happens when I remove a field from a task?
      instructions:
      - text: Remove field {field_id} from task {task_id}.
        slots:
          field_id: path.field_id
          task_id: path.task_id
      - text: Delete the field {field_id} on task {task_id}.
        slots:
          field_id: path.field_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a substep of a task workflow step
      effect: read
      questions:
      - How can I check whether a substep of a task is completed, in progress or skipped?
      - Who is assigned to a particular substep of a task's workflow step?
      instructions:
      - text: Get substep {sub_step_id} of step {step_id} in task {task_id}.
        slots:
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
      - text: Show the status of substep {sub_step_id} under step {step_id} of task {task_id}.
        slots:
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Complete, skip or reassign a task substep
      effect: write
      questions:
      - Can I mark a workflow substep as completed or skipped from my integration?
      - Is it possible to reassign a single task substep to another user?
      instructions:
      - text: Mark substep {sub_step_id} of step {step_id} in task {task_id} as completed.
        slots:
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
      - text: Assign substep {sub_step_id} of step {step_id} on task {task_id} to {assignee_id}.
        slots:
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
          assignee_id: requestBody.assignee_id
      - text: Set is_skipped to {is_skipped} for substep {sub_step_id} in step {step_id} of task {task_id}.
        slots:
          is_skipped: requestBody.is_skipped
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/external-work'].get
  update:
    x-apievangelist-phrasing:
      intent: Get external work info for a task substep
      effect: read
      questions:
      - Where do I see the external work linked to an external substep of a task?
      - Can I read the status and link of work tracked outside CMP for a substep?
      instructions:
      - text: Get the external work details for substep {sub_step_id} of step {step_id} in task {task_id}.
        slots:
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
      - text: Show the external work status on substep {sub_step_id}, step {step_id}, task {task_id}.
        slots:
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/external-work'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update external work info on a task substep
      effect: write
      questions:
      - Can my external tool report its work status back onto a task's external substep?
      - Does the external work link on a substep have to be an HTTPS URL?
      instructions:
      - text: Set the external work status of substep {sub_step_id} in step {step_id} of task {task_id} to {status}.
        slots:
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
          status: requestBody.status
      - text: Link external work {url} titled {title} to substep {sub_step_id}, step {step_id}, task {task_id}.
        slots:
          url: requestBody.url
          title: requestBody.title
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/comments'].get
  update:
    x-apievangelist-phrasing:
      intent: List comments on a task substep
      effect: read
      questions:
      - What has the team said in the comments on a specific task substep?
      - Can I read every comment thread left on one substep of a task?
      instructions:
      - text: List the comments on substep {sub_step_id} of step {step_id} in task {task_id}.
        slots:
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
      - text: Show all feedback left on task {task_id} substep {sub_step_id} (step {step_id}).
        slots:
          task_id: path.task_id
          sub_step_id: path.sub_step_id
          step_id: path.step_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/comments'].post
  update:
    x-apievangelist-phrasing:
      intent: Comment on a task substep
      effect: write
      questions:
      - How do I leave a comment on a workflow substep of a task?
      - Can I reply to an existing substep comment with a parent comment id?
      instructions:
      - text: Post a new comment saying {value} on task {task_id}, step {step_id}, substep {sub_step_id}.
        slots:
          value: requestBody.value
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
      - text: Reply {value} to comment {parent_comment_id} on substep {sub_step_id}, step {step_id}, task {task_id}.
        slots:
          value: requestBody.value
          parent_comment_id: requestBody.parent_comment_id
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/fields'].get
  update:
    x-apievangelist-phrasing:
      intent: List the fields of a task substep
      effect: read
      questions:
      - Which form fields belong to one substep of a task?
      - Can I page through the fields attached to a task substep?
      instructions:
      - text: List the fields on substep {sub_step_id} of step {step_id} in task {task_id}.
        slots:
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
      - text: Show {page_size} substep fields for task {task_id}, step {step_id}, substep {sub_step_id}.
        slots:
          page_size: query.page_size
          task_id: path.task_id
          step_id: path.step_id
          sub_step_id: path.sub_step_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/comments/{comment_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one comment on a task substep
      effect: read
      questions:
      - Can I fetch a single substep comment by its comment id?
      - What attachments and text does a particular substep comment contain?
      instructions:
      - text: Get comment {comment_id} on substep {sub_step_id} of step {step_id} in task {task_id}.
        slots:
          comment_id: path.comment_id
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
      - text: Open substep comment {comment_id} from task {task_id}, step {step_id}, substep {sub_step_id}.
        slots:
          comment_id: path.comment_id
          task_id: path.task_id
          step_id: path.step_id
          sub_step_id: path.sub_step_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/comments/{comment_id}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a comment on a task substep
      effect: destructive
      questions:
      - Can I remove a comment someone posted on a task substep?
      - Is deleting a substep comment permanent?
      instructions:
      - text: Delete comment {comment_id} on substep {sub_step_id} of step {step_id} in task {task_id}.
        slots:
          comment_id: path.comment_id
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
      - text: Remove my substep comment {comment_id} from task {task_id}, step {step_id}, substep {sub_step_id}.
        slots:
          comment_id: path.comment_id
          task_id: path.task_id
          step_id: path.step_id
          sub_step_id: path.sub_step_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/steps/{step_id}/sub-steps/{sub_step_id}/comments/{comment_id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Edit a comment on a task substep
      effect: write
      questions:
      - Can I edit the text of a comment I already left on a substep?
      - How do I fix a typo in an existing task substep comment?
      instructions:
      - text: Change substep comment {comment_id} in task {task_id}, step {step_id}, substep {sub_step_id} to read {value}.
        slots:
          comment_id: path.comment_id
          task_id: path.task_id
          step_id: path.step_id
          sub_step_id: path.sub_step_id
          value: requestBody.value
      - text: Edit comment {comment_id} on substep {sub_step_id} of step {step_id}, task {task_id}, with the new text {value}.
        slots:
          comment_id: path.comment_id
          sub_step_id: path.sub_step_id
          step_id: path.step_id
          task_id: path.task_id
          value: requestBody.value
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{id}/assets'].get
  update:
    x-apievangelist-phrasing:
      intent: List the assets and content in a task
      effect: read
      questions:
      - What images, videos, articles and other content are attached to a task?
      - Can I page through all the assets of a task?
      instructions:
      - text: List the assets on task {id}.
        slots:
          id: path.id
      - text: Show {page_size} assets of task {id} starting at offset {offset}.
        slots:
          page_size: query.page_size
          id: path.id
          offset: query.offset
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{id}/assets'].post
  update:
    x-apievangelist-phrasing:
      intent: Add an uploaded or library asset to a task
      effect: write
      questions:
      - Can I add an image I just uploaded, or something from the library, to a task?
      - Which asset types can be uploaded first and then attached to a task?
      instructions:
      - text: Add an asset from the library to task {id}.
        slots:
          id: path.id
      - text: Attach my newly uploaded video to task {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/assets/{asset_id}/drafts'].get
  update:
    x-apievangelist-phrasing:
      intent: List drafts of a task asset
      effect: read
      questions:
      - How many drafts or versions has an asset in a task gone through?
      - Can I see the draft history of one task asset?
      instructions:
      - text: List the drafts of asset {asset_id} in task {task_id}.
        slots:
          asset_id: path.asset_id
          task_id: path.task_id
      - text: Show the version history for task {task_id} asset {asset_id}.
        slots:
          task_id: path.task_id
          asset_id: path.asset_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/assets/{asset_id}/drafts'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload a new draft of a task asset
      effect: write
      questions:
      - How do I upload a revised version of an image that is already on a task?
      - Can I add a new draft to an article asset, or only to images, videos and raw files?
      instructions:
      - text: Add a new draft to asset {asset_id} in task {task_id}.
        slots:
          asset_id: path.asset_id
          task_id: path.task_id
      - text: Upload the revised file as the next draft of task {task_id} asset {asset_id}.
        slots:
          task_id: path.task_id
          asset_id: path.asset_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/assets/{asset_id}/comments'].get
  update:
    x-apievangelist-phrasing:
      intent: List comments on the latest version of a task asset
      effect: read
      questions:
      - What review feedback has been left on the latest version of a task asset?
      - Do asset comments cover older drafts or only the current version?
      instructions:
      - text: List the comments on asset {asset_id} in task {task_id}.
        slots:
          asset_id: path.asset_id
          task_id: path.task_id
      - text: Show reviewer feedback on the current draft of task {task_id} asset {asset_id}.
        slots:
          task_id: path.task_id
          asset_id: path.asset_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/assets/{asset_id}/comments'].post
  update:
    x-apievangelist-phrasing:
      intent: Comment on the latest version of a task asset
      effect: write
      questions:
      - Can I leave review feedback directly on an image or video in a task?
      - Which asset types accept comments through the API?
      instructions:
      - text: Comment {value} on asset {asset_id} in task {task_id}.
        slots:
          value: requestBody.value
          asset_id: path.asset_id
          task_id: path.task_id
      - text: Leave the feedback {value} on the latest draft of task {task_id} asset {asset_id}.
        slots:
          value: requestBody.value
          task_id: path.task_id
          asset_id: path.asset_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/assets/{asset_id}/fields'].get
  update:
    x-apievangelist-phrasing:
      intent: List the fields of a task asset
      effect: read
      questions:
      - What metadata fields are set on an asset inside a task?
      - Can I read the field values attached to one task asset?
      instructions:
      - text: List the fields of asset {asset_id} in task {task_id}.
        slots:
          asset_id: path.asset_id
          task_id: path.task_id
      - text: Show the metadata fields on task {task_id} asset {asset_id}.
        slots:
          task_id: path.task_id
          asset_id: path.asset_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/assets/{asset_id}/fields'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace the fields of a task asset
      effect: write
      questions:
      - Can I overwrite all the metadata fields on a task asset at once?
      - Does updating task asset fields replace the whole set rather than merge?
      instructions:
      - text: Replace the fields of asset {asset_id} in task {task_id}.
        slots:
          asset_id: path.asset_id
          task_id: path.task_id
      - text: Overwrite the metadata fields on task {task_id} asset {asset_id} with the new set.
        slots:
          task_id: path.task_id
          asset_id: path.asset_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{id}/attachments'].get
  update:
    x-apievangelist-phrasing:
      intent: List the attachments of a task
      effect: read
      questions:
      - What files are attached to a task as reference material?
      - Can I page through a task's attachments?
      instructions:
      - text: List the attachments on task {id}.
        slots:
          id: path.id
      - text: Show {page_size} attachments of task {id}.
        slots:
          page_size: query.page_size
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/articles/{article_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an article in a task
      effect: read
      questions:
      - How do I read the article content being produced in a task?
      - Can I fetch a specific article asset from a task by its id?
      instructions:
      - text: Get article {article_id} from task {task_id}.
        slots:
          article_id: path.article_id
          task_id: path.task_id
      - text: Show me the text of article {article_id} in task {task_id}.
        slots:
          article_id: path.article_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/images/{image_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get an image in a task
      effect: read
      questions:
      - Can I retrieve the details of an image attached to a task?
      - Where do I find an image asset's metadata inside a task?
      instructions:
      - text: Get image {image_id} from task {task_id}.
        slots:
          image_id: path.image_id
          task_id: path.task_id
      - text: Fetch the image {image_id} that belongs to task {task_id}.
        slots:
          image_id: path.image_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/videos/{video_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a video in a task
      effect: read
      questions:
      - How do I look up a video asset that lives in a task?
      - Can I get a task's video details by its video id?
      instructions:
      - text: Get video {video_id} from task {task_id}.
        slots:
          video_id: path.video_id
          task_id: path.task_id
      - text: Pull up the video {video_id} in task {task_id}.
        slots:
          video_id: path.video_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/raw-files/{raw_file_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a raw file in a task
      effect: read
      questions:
      - Can I retrieve a raw file, like a PDF or design source, attached as a task asset?
      - What does the API return for a raw file asset in a task?
      instructions:
      - text: Get raw file {raw_file_id} from task {task_id}.
        slots:
          raw_file_id: path.raw_file_id
          task_id: path.task_id
      - text: Fetch the raw file asset {raw_file_id} on task {task_id}.
        slots:
          raw_file_id: path.raw_file_id
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/comments'].post
  update:
    x-apievangelist-phrasing:
      intent: Post a comment on a task
      effect: write
      questions:
      - How do I post a general comment on a task rather than on one of its assets?
      - Can a task comment include attachments?
      instructions:
      - text: Post the comment {value} on task {task_id}.
        slots:
          value: requestBody.value
          task_id: path.task_id
      - text: Add a note {value} to the task {task_id} discussion.
        slots:
          value: requestBody.value
          task_id: path.task_id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/tasks/{task_id}/publishing-intents'].post
  update:
    x-apievangelist-phrasing:
      intent: Queue a task for publishing to a channel
      effect: write
      questions:
      - Can I mark a task's content to be published on a specific publishing channel?
      - What do I need to create a publishing intent for a task?
      instructions:
      - text: Create a publishing intent for task {task_id} on channel {channel_id}.
        slots:
          task_id: path.task_id
          channel_id: requestBody.channel_id
      - text: Schedule task {task_id} to publish through channel {channel_id}.
        slots:
          task_id: path.task_id
          channel_id: requestBody.channel_id
      method: generated
      generated: '2026-09-26'


# --- truncated at 32 KB (35 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/overlays/optimizely-tasks-api-phrasing-overlay.yaml