Optimizely Experiments API

Create and manage A/B test experiments on top of feature flags.

Business capability
A/B Test Execution BC-4280.50

Operations 21

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /api/v1/admin/Experiments List commerce content experiments · Returns the EntitySet Experiments #
Ask an LLM
“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?”
Tell an agent
List all content experiments in the commerce admin.
List commerce admin experiments matching the OData filter {filter}.
POST /api/v1/admin/Experiments Create a commerce content experiment · Post a new entity to EntitySet Experiments #
Ask an LLM
“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?”
Tell an agent
Create a commerce content experiment named {name} measuring {metric} that ends on {endCondition}.
Start a storefront content experiment {name} described as {description} with status {status}.
GET /api/v1/admin/Experiments({id}) Get a commerce content experiment · Returns the entity with the key from Experiments #
Ask an LLM
“What allocation and variants does one commerce content experiment use?”
“Can I pull a single commerce admin experiment record by its GUID?”
Tell an agent
Get commerce content experiment {id}.
Show the variant allocations of commerce admin experiment {id}.
PUT /api/v1/admin/Experiments({id}) Replace a commerce content experiment · Replace entity in EntitySet Experiments #
Ask an LLM
“How do I overwrite a commerce content experiment with a complete new definition?”
“Does replacing a commerce admin experiment reset the fields I omit?”
Tell an agent
Replace commerce content experiment {id} with a full record named {name} measuring {metric}.
Overwrite every field of commerce experiment {id}, setting status {status}.
DELETE /api/v1/admin/Experiments({id}) Delete a commerce content experiment · Delete entity in EntitySet Experiments #
Ask an LLM
“Can I remove one commerce content experiment by its ID?”
“Is there a way to guard deleting a commerce experiment with an ETag?”
Tell an agent destructive · confirm first
Delete commerce content experiment {id}.
Delete commerce admin experiment {id} only if its ETag is {etag}.
PATCH /api/v1/admin/Experiments({id}) Update a commerce content experiment · Update entity in EntitySet Experiments #
Ask an LLM
“How do I pause a running commerce content experiment without resending everything?”
“Can I change just the traffic split on an existing commerce experiment?”
Tell an agent
Set isPaused to {isPaused} on commerce content experiment {id}.
Change the included traffic allocation of commerce experiment {id} to {includedAllocation}.
GET /api/v1/admin/Experiments/Default.Default() Get a blank commerce experiment template · Call operation Default #
Ask an LLM
“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?”
Tell an agent
Fetch the default template for a commerce content experiment.
Show me the starting values for a new commerce admin experiment.
POST /api/v1/admin/Experiments/Default.end End a commerce content experiment · Call operation end #
Ask an LLM
“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?”
Tell an agent destructive · confirm first
End commerce content experiment {experimentId}.
Finish the storefront A/B test {experimentId} now via the Default.end action.
POST /api/v1/admin/experiments/end Call the route-style experiment end endpoint · Experiments end 2 #
Ask an LLM
“Is there a lowercase experiments/end route that takes no declared parameters?”
“What does the parameterless experiments end route in the commerce admin do?”
Tell an agent destructive · confirm first
Call the route-style experiments/end endpoint in the commerce admin.
Invoke the parameterless end route for commerce experiments.
DELETE /api/v1/admin/experiments/delete Bulk delete commerce content experiments · Experiments delete route #
Ask an LLM
“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?”
Tell an agent destructive · confirm first
Bulk delete the commerce content experiments with IDs {ids}.
Remove these commerce admin experiments together: {ids}.
GET /api/v1/admin/experiments({key})/customproperties({custompropertyKey}) Get a custom property on a commerce experiment · Experiments get custom property by key and custompropertykey #
Ask an LLM
“Can I read one custom property stored on a commerce content experiment?”
“What extra custom fields are attached to a given commerce experiment?”
Tell an agent
Get custom property {custompropertyKey} on commerce experiment {key}.
Show the custom property {custompropertyKey} of commerce content experiment {key}.
GET /api/v1/admin/experiments({key})/participants({experimentparticipantKey}) Get a participant in a commerce experiment · Experiments get participant by key and experimentparticipantkey #
Ask an LLM
“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?”
Tell an agent
Get participant {experimentparticipantKey} of commerce experiment {key}.
Show participant record {experimentparticipantKey} in content experiment {key}.
GET /experiments List experiments in a project · List experiments #
Ask an LLM
“Which experiments exist in my Optimizely Web Experimentation project?”
“Can I page through a project's experiments a set number at a time?”
Tell an agent
List the experiments in project {project_id}.
Show page {page} of experiments in project {project_id}, {per_page} per page.
POST /experiments Create an experiment in a project · Create an experiment #
Ask an LLM
“How do I add a new experiment to a Web Experimentation project?”
“Can I set a description and status when creating a project experiment?”
Tell an agent
Create an experiment named {name} in project {project_id}.
Add experiment {name} to project {project_id} with description {description}.
GET /experiments/{experiment_id} Get a project experiment's details · Get an experiment #
Ask an LLM
“What are the full details of a specific experiment in my project?”
“Can I retrieve one Web Experimentation experiment by its experiment ID?”
Tell an agent
Get experiment {experiment_id}.
Show the full configuration of experiment {experiment_id}.
PATCH /experiments/{experiment_id} Update a project experiment · Update an experiment #
Ask an LLM
“Can I rename an existing experiment in my Web Experimentation project?”
“How do I change the status of a project experiment?”
Tell an agent
Rename experiment {experiment_id} to {name}.
Set the status of experiment {experiment_id} to {status}.
DELETE /experiments/{experiment_id} Archive or delete a project experiment · Delete an experiment #
Ask an LLM
“How do I archive an experiment I no longer need in my project?”
“Can I permanently delete a Web Experimentation experiment?”
Tell an agent destructive · confirm first
Archive experiment {experiment_id}.
Delete project experiment {experiment_id}.
GET /experiments/{experiment_id}/results Get an experiment's statistical results · Get experiment results #
Ask an LLM
“Is my experiment's winning variation statistically significant yet?”
“What conversion rates and confidence intervals did Stats Engine compute for an experiment?”
Tell an agent
Get the results for experiment {experiment_id}.
Show conversion rates and significance for experiment {experiment_id}.
GET /experiments/{experiment_id}/timeseries Get an experiment's results over time · Get Experiment results time series #
Ask an LLM
“How have an experiment's results trended day by day?”
“Can I see an experiment's results time series for mobile devices only?”
Tell an agent
Get the results time series for experiment {experiment_id}.
Show experiment {experiment_id}'s results over time from {start_time} to {end_time}.
GET /export/experiments/{experiment_id}/results/csv Export experiment results as CSV · Get Experiment results as a CSV #
Ask an LLM
“Can I download an experiment's results as a CSV file?”
“How do I export experiment results for a single browser to a spreadsheet?”
Tell an agent
Export the results of experiment {experiment_id} as CSV.
Download a CSV of experiment {experiment_id} results against baseline variation {baseline_variation_id}.

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/optimizely:optimizely-experiments-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

optimizely-experiments-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Optimizely Experiments API
  version: '1.0'
  description: 'Operations tagged Experiments across 4 of this provider''s published API definitions: optimizely-configured-commerce-admin-api-v1-openapi.json, optimizely-feature-experimentation-openapi.yml, optimizely-web-experimentation-openapi.yml, optimizely-web-experimentation-optimizely-api-openapi.json. Each path carries the servers of the definition it was published in.'
servers:
- url: https://dogfood.commerce.insitesandbox.com
- url: https://api.optimizely.com/v2
  description: Optimizely REST API v2 Management Server
- url: https://api.optimizely.com/flags/v1
  description: Optimizely Flags API v1 Server
tags:


# --- truncated at 32 KB (98 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/optimizely-experiments-api-openapi.yml