Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Optimizely Campaigns API
18 actions
18 updates
phrasing
extends
openapi/optimizely-campaigns-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 18 · first 16 shown; the file carries all of them
$.info
$.paths['/campaigns'].get
$.paths['/campaigns'].post
$.paths['/campaigns/{campaignId}'].get
$.paths['/campaigns/{id}'].get
$.paths['/campaigns/{id}'].patch
$.paths['/campaigns/{id}/comments'].post
$.paths['/campaigns/{id}/fields'].get
$.paths['/campaigns/{id}/fields'].post
$.paths['/campaigns/{id}/brief'].get
$.paths['/campaigns/{id}/attachments'].post
$.paths['/campaigns/{campaign_id}/fields/{field_id}'].put
$.paths['/campaigns/{campaign_id}'].get
$.paths['/campaigns/{campaign_id}'].delete
$.paths['/campaigns/{campaign_id}'].patch
$.paths['/campaigns/{campaign_id}/results'].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 Campaigns API
version: 1.0.0
extends: openapi/optimizely-campaigns-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: 17
- target: $.paths['/campaigns'].get
update:
x-apievangelist-phrasing:
intent: List editorial calendar campaigns
effect: read
questions:
- Which content campaigns are on my editorial calendar?
- Can I page through campaigns with a limit and offset?
instructions:
- text: List the content campaigns in my editorial calendar.
- text: Show {limit} editorial campaigns starting at offset {offset}.
slots:
limit: query.limit
offset: query.offset
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns'].post
update:
x-apievangelist-phrasing:
intent: Create a content marketing campaign
effect: write
questions:
- How do I create a new campaign in my content marketing calendar?
- Can a new campaign be nested under a parent campaign with start and end dates?
- Is it possible to give a new campaign an owner and a color?
instructions:
- text: Create a campaign titled {title}.
slots:
title: requestBody.title
- text: Create campaign {title} running from {start_date} to {end_date} under parent {parent_campaign}.
slots:
title: requestBody.title
start_date: requestBody.start_date
end_date: requestBody.end_date
parent_campaign: requestBody.parent_campaign
- text: Start a new campaign {title} owned by {owner_id}.
slots:
title: requestBody.title
owner_id: requestBody.owner_id
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{campaignId}'].get
update:
x-apievangelist-phrasing:
intent: Get an editorial calendar campaign
effect: read
questions:
- What are the details of one content campaign on my editorial calendar?
- Can I look up an editorial calendar campaign by its campaignId?
instructions:
- text: Get editorial calendar campaign {campaignId}.
slots:
campaignId: path.campaignId
- text: Show me the calendar entry for content campaign {campaignId}.
slots:
campaignId: path.campaignId
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a content campaign record by id
effect: read
questions:
- Where do I read the CMP campaign record that its fields, comments and attachments hang off?
- What does the content marketing platform return for a campaign I fetch by plain id?
instructions:
- text: Fetch the CMP campaign record {id}.
slots:
id: path.id
- text: Pull up content marketing campaign {id} before I edit its fields.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a content campaign's title or dates
effect: write
questions:
- How do I rename a content marketing campaign or move its dates?
- Can I reassign the owner of a CMP campaign?
instructions:
- text: Retitle content campaign {id} to {title}.
slots:
id: path.id
title: requestBody.title
- text: Move content campaign {id} to run {start_date} through {end_date}.
slots:
id: path.id
start_date: requestBody.start_date
end_date: requestBody.end_date
- text: Make {owner_id} the owner of content campaign {id}.
slots:
id: path.id
owner_id: requestBody.owner_id
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{id}/comments'].post
update:
x-apievangelist-phrasing:
intent: Comment on a campaign
effect: write
questions:
- Can I post a comment on a campaign and mention a teammate?
- Does a campaign comment support Markdown and attachments?
instructions:
- text: Comment {value} on campaign {id}.
slots:
id: path.id
value: requestBody.value
- text: Post a note on campaign {id} saying {value} with attachments {attachments}.
slots:
id: path.id
value: requestBody.value
attachments: requestBody.attachments
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{id}/fields'].get
update:
x-apievangelist-phrasing:
intent: List a campaign's custom fields
effect: read
questions:
- Which custom fields are defined on a given campaign?
- Can I page through a campaign's fields with a page size?
instructions:
- text: List the fields on campaign {id}.
slots:
id: path.id
- text: Show {page_size} fields of campaign {id} from offset {offset}.
slots:
id: path.id
page_size: query.page_size
offset: query.offset
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{id}/fields'].post
update:
x-apievangelist-phrasing:
intent: Add a field to a campaign
effect: write
questions:
- How do I attach a new custom field to a campaign?
- Can I extend a campaign with an additional field?
instructions:
- text: Add a field to campaign {id}.
slots:
id: path.id
- text: Attach a new custom field to campaign {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{id}/brief'].get
update:
x-apievangelist-phrasing:
intent: Get a campaign's brief
effect: read
questions:
- Where can I read the brief written for a campaign?
- What does the brief of a content campaign contain?
instructions:
- text: Get the brief for campaign {id}.
slots:
id: path.id
- text: Show me campaign {id}'s creative brief.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{id}/attachments'].post
update:
x-apievangelist-phrasing:
intent: Attach an uploaded file to a campaign
effect: write
questions:
- How do I attach a file I already uploaded to a campaign?
- What upload key do I need to add an attachment to a campaign?
instructions:
- text: Attach uploaded file {key} named {name} to campaign {id}.
slots:
id: path.id
key: requestBody.key
name: requestBody.name
- text: Add attachment {name} from upload session {key} to campaign {id}.
slots:
id: path.id
key: requestBody.key
name: requestBody.name
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{campaign_id}/fields/{field_id}'].put
update:
x-apievangelist-phrasing:
intent: Set a campaign field's value
effect: write
questions:
- How do I change the value of one custom field on a campaign?
- Can I update a single campaign field without touching the rest of the campaign?
instructions:
- text: Update field {field_id} on campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
field_id: path.field_id
- text: Set a new value for field {field_id} of campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
field_id: path.field_id
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{campaign_id}'].get
update:
x-apievangelist-phrasing:
intent: Get an experimentation campaign
effect: read
questions:
- What are the full details of a Web Experimentation personalization campaign?
- Can I look up an experimentation campaign by campaign_id to see its project and status?
instructions:
- text: Get experimentation campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
- text: Show project and status details for personalization campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{campaign_id}'].delete
update:
x-apievangelist-phrasing:
intent: Archive or delete a campaign
effect: destructive
questions:
- How do I remove a personalization campaign I no longer need?
- Does deleting a campaign archive it or remove it permanently?
instructions:
- text: Delete campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
- text: Archive personalization campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{campaign_id}'].patch
update:
x-apievangelist-phrasing:
intent: Rename or change status of a campaign
effect: write
questions:
- How do I change the status of an experimentation campaign?
- Can I move a personalization campaign to another project or rename it?
instructions:
- text: Set the status of campaign {campaign_id} to {status}.
slots:
campaign_id: path.campaign_id
status: requestBody.status
- text: Rename experimentation campaign {campaign_id} to {name}.
slots:
campaign_id: path.campaign_id
name: requestBody.name
- text: Move campaign {campaign_id} into project {project_id}.
slots:
campaign_id: path.campaign_id
project_id: requestBody.project_id
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{campaign_id}/results'].get
update:
x-apievangelist-phrasing:
intent: Get a campaign's statistical results
effect: read
questions:
- How is my personalization campaign performing statistically?
- Where can I see the results of a campaign?
instructions:
- text: Get results for campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
- text: Show the statistical performance of campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
method: generated
generated: '2026-09-26'
- target: $.paths['/campaigns/{campaign_id}/results/share'].get
update:
x-apievangelist-phrasing:
intent: Get a shareable results link for a campaign
effect: read
questions:
- Can I share a campaign's results page with someone who has no Optimizely account?
- Is a public read-only results link risky to share widely?
instructions:
- text: Get a shareable results link for campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
- text: Generate a read-only share URL for the results page of campaign {campaign_id}.
slots:
campaign_id: path.campaign_id
method: generated
generated: '2026-09-26'
- target: $.paths['/export/campaigns/{campaign_id}/results/csv'].get
update:
x-apievangelist-phrasing:
intent: Export campaign results as CSV
effect: read
questions:
- How do I download a campaign's results as a CSV file?
- Can I export campaign results segmented by device or browser?
- Is it possible to limit the CSV export to a time window?
instructions:
- text: Export results for campaign {campaign_id} as CSV.
slots:
campaign_id: path.campaign_id
- text: Export CSV results for campaign {campaign_id} from {start_time} to {end_time}.
slots:
campaign_id: path.campaign_id
start_time: query.start_time
end_time: query.end_time
- text: Download campaign {campaign_id} results as CSV segmented by device {device}.
slots:
campaign_id: path.campaign_id
device: query.device
method: generated
generated: '2026-09-26'