How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Optimizely Holdouts API

The Holdouts API from Optimizely — 4 operation(s) for holdouts.

Optimizely Holdouts API is one of 420 APIs that Optimizely publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Holdouts. The published artifact set on APIs.io includes an OpenAPI specification.

This API exposes 7 operations across 4 paths, and defines 17 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against 2 base URLs: https://api.optimizely.com/flags/v1/, https://api.optimizely.com/v2.

7 operations 4 paths 17 schemas 1 DELETE4 GET2 POST

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
https://exp.mcp.opal.optimizely.com/mcp
Authentication
HTTP Bearer, OAuth 2.0, HTTP Bearer
Resource Areas
1

Authentication & Security 3

Optimizely Holdouts API declares 3 security schemes for authenticating requests. It accepts HTTP bearer tokens (BearerAuth). It supports OAuth 2.0 (OAuth2) using the authorizationCode flow, exposing 1 scope. It accepts HTTP bearer tokens (apiKey). By default, every request must be authenticated.

  • BearerAuth — To get a personal token, see https://docs.developers.optimizely.com/web/docs/personal-token
  • OAuth2 — Write applications that authenticate with the REST API via OAuth 2.0.

Paths & Operations 7

Across 4 paths, the API surfaces 7 operations — 1 DELETE, 4 GET, 2 POST. Each is listed below with its method, path, parameters, and response codes.

Holdouts 7
GET
/projects/{project_id}/holdouts
List Holdouts for a project
list_holdouts 9 params → 200400401403404
POST
/projects/{project_id}/holdouts
Create a new Holdout
create_holdout 1 param body → 201400401403
DELETE
/projects/{project_id}/holdouts/{holdout_id}
Delete a Holdout
delete_holdout 2 params → 204400401403404
GET
/projects/{project_id}/holdouts/{holdout_id}
Fetch a single Holdout
fetch_holdout 2 params → 200400401403404
POST
/projects/{project_id}/holdouts/{holdout_id}
Update a Holdout using JSON Patch
update_holdouts 2 params body → 200400401403404409
GET
/projects/{project_id}/holdouts/{holdout_id}/experiments
Fetch experiments associated with a holdout
fetch_holdout_experiments 2 params → 200400401403404
GET
/export/projects/{project_id}/holdouts/{holdout_id}/results/csv
Get Holdout results as a CSV
get_holdout_results_csv 8 params → 200202204default

Schemas 17

The contract defines 17 schemas that model the data the API accepts and returns. The most detailed are Holdout (22 properties), HoldoutRequestBody (20 properties), Metric (13 properties), HoldoutsPaginatedList (12 properties). Each schema is shown below with its type and property counts.

AudienceConditionsString
string
A valid AudienceConditionsArray represented as a JSON string
PatchRequestBody
object
A JSONPatch document as defined by RFC 6902
4 properties 2 required
Holdout
object
Represents a holdout experiment that reserves a portion of traffic to measure the impact of feature flags and experiments. Holdouts help establish control grou…
22 properties 3 required
SubMetric
object
6 properties
AudienceConditionsArray
array
Metric
object
13 properties 2 required
HoldoutRequestBody
object
Request body schema for creating or updating a holdout. Holdouts are experiments that reserve a portion of your traffic to measure the impact of your feature f…
20 properties 2 required
HoldoutMap
object
A dictionary/map of holdouts where each key is the holdout ID and the value is the holdout object. This structure is used internally for efficient lookups and…
AudienceConditions
An Audience Combination composed of other audiences. Each audience is a rule like 'User likes salads', and an Audience Combination is a Boolean combination of…
HoldoutExperiments
array
A collection of experiment rules associated with a holdout. Each item represents an experiment that is connected to the holdout through database relationships…
HoldoutsPaginatedList
object
Paginated response structure for holdout collections with navigation links and metadata. This response format follows the standard pagination pattern used acro…
12 properties 8 required
HoldoutExperiment
object
Represents a single experiment rule that is connected to a holdout configuration. Contains experiment identification, timing information from the associated re…
4 properties 1 required
UrlValue
string
A single url.
ProblemDetail
object
https://tools.ietf.org/html/rfc7807section-3.1
5 properties 4 required
EventPropertyCondition
object
4 properties 4 required
UrlList
array
A list of urls.
Error
object
4 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

optimizely-holdouts-api-openapi.yml Raw ↑

Other APIs Optimizely publishes across the network.

Optimizely Remote MCP Server — Experimentation
Optimizely Assets API
Optimizely Attributes API
Optimizely Audiences API
Optimizely Campaigns API
Optimizely Catalog Entries API
Optimizely Catalog Entry Relations API
Optimizely Catalog Nodes API
Optimizely Catalogs API
Optimizely Content API
Optimizely Content Types API
Optimizely Customers API
Where this information came from

This is an independent, third-party profile of Optimizely Holdouts API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.