Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Optimizely Experiments API
22 actions
22 updates
phrasing
extends
openapi/optimizely-experiments-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 22 · first 16 shown; the file carries all of them
$.info
$.paths['/api/v1/admin/Experiments'].get
$.paths['/api/v1/admin/Experiments'].post
$.paths['/api/v1/admin/Experiments({id})'].get
$.paths['/api/v1/admin/Experiments({id})'].put
$.paths['/api/v1/admin/Experiments({id})'].delete
$.paths['/api/v1/admin/Experiments({id})'].patch
$.paths['/api/v1/admin/Experiments/Default.Default()'].get
$.paths['/api/v1/admin/Experiments/Default.end'].post
$.paths['/api/v1/admin/experiments/end'].post
$.paths['/api/v1/admin/experiments/delete'].delete
$.paths['/api/v1/admin/experiments({key})/customproperties({custompropertyKey})'].get
$.paths['/api/v1/admin/experiments({key})/participants({experimentparticipantKey})'].get
$.paths['/experiments'].get
$.paths['/experiments'].post
$.paths['/experiments/{experiment_id}'].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 Experiments API
version: 1.0.0
extends: openapi/optimizely-experiments-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: 21
- target: $.paths['/api/v1/admin/Experiments'].get
update:
x-apievangelist-phrasing:
intent: List commerce content experiments
effect: read
questions:
- Which A/B content experiments are set up in my Configured Commerce admin?
- Can I filter the commerce admin experiments list by status or website?
- How many content experiments does the commerce back office hold right now?
instructions:
- text: List all content experiments in the commerce admin.
- text: List commerce admin experiments matching the OData filter {filter}.
slots:
filter: query.$filter
- text: Show the first {top} commerce content experiments sorted by {orderby}.
slots:
top: query.$top
orderby: query.$orderby
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments'].post
update:
x-apievangelist-phrasing:
intent: Create a commerce content experiment
effect: write
questions:
- How do I set up a new A/B content experiment on my commerce storefront?
- Can I split traffic across up to three content variants plus the original?
- What end condition and metric must a new commerce content experiment have?
instructions:
- text: Create a commerce content experiment named {name} measuring {metric} that ends on {endCondition}.
slots:
name: requestBody.name
metric: requestBody.metric
endCondition: requestBody.endCondition
- text: Start a storefront content experiment {name} described as {description} with status {status}.
slots:
name: requestBody.name
description: requestBody.description
status: requestBody.status
- text: Create content experiment {name} on website {websiteId} with {variant1Allocation} of traffic to variant 1.
slots:
name: requestBody.name
websiteId: requestBody.websiteId
variant1Allocation: requestBody.variant1Allocation
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments({id})'].get
update:
x-apievangelist-phrasing:
intent: Get a commerce content experiment
effect: read
questions:
- What allocation and variants does one commerce content experiment use?
- Can I pull a single commerce admin experiment record by its GUID?
instructions:
- text: Get commerce content experiment {id}.
slots:
id: path.id
- text: Show the variant allocations of commerce admin experiment {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments({id})'].put
update:
x-apievangelist-phrasing:
intent: Replace a commerce content experiment
effect: write
questions:
- How do I overwrite a commerce content experiment with a complete new definition?
- Does replacing a commerce admin experiment reset the fields I omit?
instructions:
- text: Replace commerce content experiment {id} with a full record named {name} measuring {metric}.
slots:
id: path.id
name: requestBody.name
metric: requestBody.metric
- text: Overwrite every field of commerce experiment {id}, setting status {status}.
slots:
id: path.id
status: requestBody.status
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments({id})'].delete
update:
x-apievangelist-phrasing:
intent: Delete a commerce content experiment
effect: destructive
questions:
- Can I remove one commerce content experiment by its ID?
- Is there a way to guard deleting a commerce experiment with an ETag?
instructions:
- text: Delete commerce content experiment {id}.
slots:
id: path.id
- text: Delete commerce admin experiment {id} only if its ETag is {etag}.
slots:
id: path.id
etag: header.If-Match
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments({id})'].patch
update:
x-apievangelist-phrasing:
intent: Update a commerce content experiment
effect: write
questions:
- How do I pause a running commerce content experiment without resending everything?
- Can I change just the traffic split on an existing commerce experiment?
instructions:
- text: Set isPaused to {isPaused} on commerce content experiment {id}.
slots:
id: path.id
isPaused: requestBody.isPaused
- text: Change the included traffic allocation of commerce experiment {id} to {includedAllocation}.
slots:
id: path.id
includedAllocation: requestBody.includedAllocation
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments/Default.Default()'].get
update:
x-apievangelist-phrasing:
intent: Get a blank commerce experiment template
effect: read
questions:
- What default values does a new commerce content experiment start with?
- Can I fetch an empty experiment template before building one in the commerce admin?
instructions:
- text: Fetch the default template for a commerce content experiment.
- text: Show me the starting values for a new commerce admin experiment.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/Experiments/Default.end'].post
update:
x-apievangelist-phrasing:
intent: End a commerce content experiment
effect: destructive
questions:
- How do I stop a commerce content experiment by passing its experiment ID?
- Can I end an A/B content test early through the commerce admin?
instructions:
- text: End commerce content experiment {experimentId}.
slots:
experimentId: requestBody.experimentId
- text: Finish the storefront A/B test {experimentId} now via the Default.end action.
slots:
experimentId: requestBody.experimentId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/experiments/end'].post
update:
x-apievangelist-phrasing:
intent: Call the route-style experiment end endpoint
effect: destructive
questions:
- Is there a lowercase experiments/end route that takes no declared parameters?
- What does the parameterless experiments end route in the commerce admin do?
instructions:
- text: Call the route-style experiments/end endpoint in the commerce admin.
- text: Invoke the parameterless end route for commerce experiments.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/experiments/delete'].delete
update:
x-apievangelist-phrasing:
intent: Bulk delete commerce content experiments
effect: destructive
questions:
- Can I delete several commerce content experiments in one call?
- How do I remove a batch of commerce admin experiments by a list of IDs?
instructions:
- text: Bulk delete the commerce content experiments with IDs {ids}.
slots:
ids: query.ids
- text: 'Remove these commerce admin experiments together: {ids}.'
slots:
ids: query.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/experiments({key})/customproperties({custompropertyKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a custom property on a commerce experiment
effect: read
questions:
- Can I read one custom property stored on a commerce content experiment?
- What extra custom fields are attached to a given commerce experiment?
instructions:
- text: Get custom property {custompropertyKey} on commerce experiment {key}.
slots:
custompropertyKey: path.custompropertyKey
key: path.key
- text: Show the custom property {custompropertyKey} of commerce content experiment {key}.
slots:
custompropertyKey: path.custompropertyKey
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/admin/experiments({key})/participants({experimentparticipantKey})'].get
update:
x-apievangelist-phrasing:
intent: Get a participant in a commerce experiment
effect: read
questions:
- Can I look up one visitor who participated in a commerce content experiment?
- Which variant was a specific participant bucketed into for a commerce experiment?
instructions:
- text: Get participant {experimentparticipantKey} of commerce experiment {key}.
slots:
experimentparticipantKey: path.experimentparticipantKey
key: path.key
- text: Show participant record {experimentparticipantKey} in content experiment {key}.
slots:
experimentparticipantKey: path.experimentparticipantKey
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/experiments'].get
update:
x-apievangelist-phrasing:
intent: List experiments in a project
effect: read
questions:
- Which experiments exist in my Optimizely Web Experimentation project?
- Can I page through a project's experiments a set number at a time?
instructions:
- text: List the experiments in project {project_id}.
slots:
project_id: query.project_id
- text: Show page {page} of experiments in project {project_id}, {per_page} per page.
slots:
page: query.page
project_id: query.project_id
per_page: query.per_page
method: generated
generated: '2026-09-26'
- target: $.paths['/experiments'].post
update:
x-apievangelist-phrasing:
intent: Create an experiment in a project
effect: write
questions:
- How do I add a new experiment to a Web Experimentation project?
- Can I set a description and status when creating a project experiment?
instructions:
- text: Create an experiment named {name} in project {project_id}.
slots:
name: requestBody.name
project_id: requestBody.project_id
- text: Add experiment {name} to project {project_id} with description {description}.
slots:
name: requestBody.name
project_id: requestBody.project_id
description: requestBody.description
method: generated
generated: '2026-09-26'
- target: $.paths['/experiments/{experiment_id}'].get
update:
x-apievangelist-phrasing:
intent: Get a project experiment's details
effect: read
questions:
- What are the full details of a specific experiment in my project?
- Can I retrieve one Web Experimentation experiment by its experiment ID?
instructions:
- text: Get experiment {experiment_id}.
slots:
experiment_id: path.experiment_id
- text: Show the full configuration of experiment {experiment_id}.
slots:
experiment_id: path.experiment_id
method: generated
generated: '2026-09-26'
- target: $.paths['/experiments/{experiment_id}'].delete
update:
x-apievangelist-phrasing:
intent: Archive or delete a project experiment
effect: destructive
questions:
- How do I archive an experiment I no longer need in my project?
- Can I permanently delete a Web Experimentation experiment?
instructions:
- text: Archive experiment {experiment_id}.
slots:
experiment_id: path.experiment_id
- text: Delete project experiment {experiment_id}.
slots:
experiment_id: path.experiment_id
method: generated
generated: '2026-09-26'
- target: $.paths['/experiments/{experiment_id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a project experiment
effect: write
questions:
- Can I rename an existing experiment in my Web Experimentation project?
- How do I change the status of a project experiment?
instructions:
- text: Rename experiment {experiment_id} to {name}.
slots:
experiment_id: path.experiment_id
name: requestBody.name
- text: Set the status of experiment {experiment_id} to {status}.
slots:
experiment_id: path.experiment_id
status: requestBody.status
method: generated
generated: '2026-09-26'
- target: $.paths['/experiments/{experiment_id}/results'].get
update:
x-apievangelist-phrasing:
intent: Get an experiment's statistical results
effect: read
questions:
- Is my experiment's winning variation statistically significant yet?
- What conversion rates and confidence intervals did Stats Engine compute for an experiment?
instructions:
- text: Get the results for experiment {experiment_id}.
slots:
experiment_id: path.experiment_id
- text: Show conversion rates and significance for experiment {experiment_id}.
slots:
experiment_id: path.experiment_id
method: generated
generated: '2026-09-26'
- target: $.paths['/experiments/{experiment_id}/results/share'].get
update:
x-apievangelist-phrasing:
intent: Get a shareable experiment results link
effect: read
questions:
- Can I share an experiment's results page with someone who has no Optimizely account?
- Is there a read-only public link to an experiment's results?
instructions:
- text: Get a shareable results link for experiment {experiment_id}.
slots:
experiment_id: path.experiment_id
- text: Create a read-only link to the results page of experiment {experiment_id}.
slots:
experiment_id: path.experiment_id
method: generated
generated: '2026-09-26'
- target: $.paths['/experiments/{experiment_id}/timeseries'].get
update:
x-apievangelist-phrasing:
intent: Get an experiment's results over time
effect: read
questions:
- How have an experiment's results trended day by day?
- Can I see an experiment's results time series for mobile devices only?
- What did the results look like between two dates compared with a chosen baseline variation?
instructions:
- text: Get the results time series for experiment {experiment_id}.
slots:
experiment_id: path.experiment_id
- text: Show experiment {experiment_id}'s results over time from {start_time} to {end_time}.
slots:
experiment_id: path.experiment_id
start_time: query.start_time
end_time: query.end_time
- text: Chart experiment {experiment_id} over time for device {device} only.
slots:
experiment_id: path.experiment_id
device: query.device
method: generated
generated: '2026-09-26'
- target: $.paths['/export/experiments/{experiment_id}/results/csv'].get
update:
x-apievangelist-phrasing:
intent: Export experiment results as CSV
effect: read
questions:
- Can I download an experiment's results as a CSV file?
- How do I export experiment results for a single browser to a spreadsheet?
instructions:
- text: Export the results of experiment {experiment_id} as CSV.
slots:
experiment_id: path.experiment_id
- text: Download a CSV of experiment {experiment_id} results against baseline variation {baseline_variation_id}.
slots:
experiment_id: path.experiment_id
baseline_variation_id: query.baseline_variation_id
method: generated
generated: '2026-09-26'