Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Optimizely CMP Open API Documentation Work Requests API
17 actions
17 updates
phrasing
extends
openapi/optimizely-work-requests-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.
What the actions change
x-apievangelist-phrasing
Targets 17 · first 16 shown; the file carries all of them
$.info
$.paths['/work-requests'].get
$.paths['/work-requests'].post
$.paths['/work-requests/{id}'].get
$.paths['/work-requests/{id}'].patch
$.paths['/work-requests/{id}/comments'].get
$.paths['/work-requests/{id}/comments'].post
$.paths['/work-requests/{work_request_id}/comments/{comment_id}'].get
$.paths['/work-requests/{id}/attachments'].post
$.paths['/work-requests/{work_request_id}/attachments/{attachment_id}'].delete
$.paths['/work-requests/{id}/creative-assets'].post
$.paths['/work-requests/{work_request_id}/creative-assets/{creative_asset_id}'].delete
$.paths['/work-requests/{id}/approved-assets'].get
$.paths['/work-requests/{id}/campaigns'].post
$.paths['/work-requests/{id}/tasks'].post
$.paths['/work-requests/{id}/related-resources'].get
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 Optimizely CMP Open API Documentation Work Requests API
version: 1.0.0
extends: openapi/optimizely-work-requests-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: 16
- target: $.paths['/work-requests'].get
update:
x-apievangelist-phrasing:
intent: List work requests
effect: read
questions:
- Which marketing work requests are still open?
- Can I filter work requests by template and by the date they were created?
- What work requests has a particular teammate submitted?
instructions:
- text: List work requests with status {status}.
slots:
status: query.status
- text: List work requests created between {from} and {to}.
slots:
from: query.created_at__from
to: query.created_at__to
- text: Show work requests created by {created_by}.
slots:
created_by: query.created_by
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests'].post
update:
x-apievangelist-phrasing:
intent: Submit a work request
effect: write
questions:
- How do I submit a new work request from one of our intake templates?
- Can I assign people when I create a work request?
instructions:
- text: Create a work request from template {template_id} with form fields {form_fields}.
slots:
template_id: requestBody.template_id
form_fields: requestBody.form_fields
- text: Submit a new work request on template {template_id}, assigned to {assignees}, with fields {form_fields}.
slots:
template_id: requestBody.template_id
assignees: requestBody.assignees
form_fields: requestBody.form_fields
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a work request
effect: read
questions:
- How do I pull up the details of one work request?
- What's the current status and priority of a specific work request?
instructions:
- text: Get work request {id}.
slots:
id: path.id
- text: Show me the details of work request {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a work request's status, priority or assignees
effect: write
questions:
- How do I change the status of a work request?
- Can I reassign a work request or bump its priority?
instructions:
- text: Set the status of work request {id} to {status}.
slots:
id: path.id
status: requestBody.status
- text: Change priority of work request {id} to {priority}.
slots:
id: path.id
priority: requestBody.priority
- text: Reassign work request {id} to {assignees}.
slots:
id: path.id
assignees: requestBody.assignees
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{id}/comments'].get
update:
x-apievangelist-phrasing:
intent: List comments on a work request
effect: read
questions:
- What has the team said in the comments on a work request?
- Can I page through the comment thread of a work request?
instructions:
- text: List comments on work request {id}.
slots:
id: path.id
- text: Show the next {page_size} comments on work request {id}.
slots:
page_size: query.page_size
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{id}/comments'].post
update:
x-apievangelist-phrasing:
intent: Comment on a work request
effect: write
questions:
- How do I post a comment on a work request and mention a colleague?
- Can I reply to an existing comment on a work request?
instructions:
- text: Comment {value} on work request {id}.
slots:
value: requestBody.value
id: path.id
- text: Reply {value} to comment {parent_comment_id} on work request {id}.
slots:
value: requestBody.value
parent_comment_id: requestBody.parent_comment_id
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{work_request_id}/comments/{comment_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a work request comment
effect: read
questions:
- How do I fetch one particular comment from a work request?
- Who wrote a specific comment on a work request?
instructions:
- text: Get comment {comment_id} on work request {work_request_id}.
slots:
comment_id: path.comment_id
work_request_id: path.work_request_id
- text: Show comment {comment_id} from work request {work_request_id}.
slots:
comment_id: path.comment_id
work_request_id: path.work_request_id
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{id}/attachments'].post
update:
x-apievangelist-phrasing:
intent: Attach a file to a work request
effect: write
questions:
- How do I attach an uploaded file to a work request?
- Do I need an upload session key before adding an attachment to a work request?
instructions:
- text: Attach uploaded file {key} named {name} to work request {id}.
slots:
key: requestBody.key
name: requestBody.name
id: path.id
- text: Add attachment {name} from upload {key} to work request {id}.
slots:
name: requestBody.name
key: requestBody.key
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{work_request_id}/attachments/{attachment_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a work request attachment
effect: destructive
questions:
- How do I remove an attachment from a work request?
- Can I delete a file someone attached to a work request by mistake?
instructions:
- text: Delete attachment {attachment_id} from work request {work_request_id}.
slots:
attachment_id: path.attachment_id
work_request_id: path.work_request_id
- text: Remove the attached file {attachment_id} on work request {work_request_id}.
slots:
attachment_id: path.attachment_id
work_request_id: path.work_request_id
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{id}/creative-assets'].post
update:
x-apievangelist-phrasing:
intent: Add a creative asset to a work request
effect: write
questions:
- How do I add a creative asset, not just an attachment, to a work request?
- Can I upload design files as creative assets on a work request?
instructions:
- text: Add creative asset {name} from upload {key} to work request {id}.
slots:
name: requestBody.name
key: requestBody.key
id: path.id
- text: Create a creative asset on work request {id} using upload session {key}, named {name}.
slots:
id: path.id
key: requestBody.key
name: requestBody.name
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{work_request_id}/creative-assets/{creative_asset_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a work request creative asset
effect: destructive
questions:
- How do I remove a creative asset from a work request?
- Can I delete a design asset that was added to a work request?
instructions:
- text: Delete creative asset {creative_asset_id} from work request {work_request_id}.
slots:
creative_asset_id: path.creative_asset_id
work_request_id: path.work_request_id
- text: Remove creative asset {creative_asset_id} on work request {work_request_id}.
slots:
creative_asset_id: path.creative_asset_id
work_request_id: path.work_request_id
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{id}/approved-assets'].get
update:
x-apievangelist-phrasing:
intent: List approved assets of a work request
effect: read
questions:
- Which assets on a work request have already been approved?
- Can I see only the signed-off deliverables for a work request?
instructions:
- text: List approved assets for work request {id}.
slots:
id: path.id
- text: Show the approved deliverables on work request {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{id}/campaigns'].post
update:
x-apievangelist-phrasing:
intent: Turn a work request into a campaign
effect: write
questions:
- How do I convert an approved work request into a campaign?
- Can I set start and end dates when creating a campaign from a work request?
instructions:
- text: Create campaign {title} from work request {id}.
slots:
title: requestBody.title
id: path.id
- text: Create campaign {title} from work request {id} running {start_date} to {end_date}.
slots:
title: requestBody.title
id: path.id
start_date: requestBody.start_date
end_date: requestBody.end_date
- text: Spin work request {id} into a sub-campaign {title} under campaign {parent_campaign_id}.
slots:
id: path.id
title: requestBody.title
parent_campaign_id: requestBody.parent_campaign_id
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{id}/tasks'].post
update:
x-apievangelist-phrasing:
intent: Turn a work request into a task
effect: write
questions:
- How do I create a task from a work request?
- Can a task created from a work request go into a specific campaign or workflow?
instructions:
- text: Create a task from work request {id}.
slots:
id: path.id
- text: Create task {title} from work request {id} due {due_at}.
slots:
title: requestBody.title
id: path.id
due_at: requestBody.due_at
- text: Make a task from work request {id} in campaign {campaign_id} using workflow {workflow_id}.
slots:
id: path.id
campaign_id: requestBody.campaign_id
workflow_id: requestBody.workflow_id
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{id}/related-resources'].get
update:
x-apievangelist-phrasing:
intent: List resources related to a work request
effect: read
questions:
- What campaigns or tasks were created from a work request?
- Where can I see everything linked to a work request?
instructions:
- text: List related resources for work request {id}.
slots:
id: path.id
- text: Show what is linked to work request {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/work-requests/{work_request_id}/form-fields/{form_field_identifier}'].put
update:
x-apievangelist-phrasing:
intent: Update a work request form field
effect: write
questions:
- How do I change the answer to one form field on a submitted work request?
- Can I edit a single intake field on a work request without touching the rest?
instructions:
- text: Update form field {form_field_identifier} on work request {work_request_id}.
slots:
form_field_identifier: path.form_field_identifier
work_request_id: path.work_request_id
- text: Change the value of field {form_field_identifier} in work request {work_request_id}.
slots:
form_field_identifier: path.form_field_identifier
work_request_id: path.work_request_id
method: generated
generated: '2026-09-26'