Fetch experiments associated with a holdout
1 min
GET
https://api.optimizely.com/flags/v1//projects/{project_id}/holdouts/{holdout_id}/experiments
project_idintegerThe project identifier
holdout_idintegerThe holdout identifier
acceptstringGenerated from available response content types
200<p>Successfully retrieved the list of experiments associated with the holdout.</p>
<p><strong>Response structure:</strong></p>
<ul>
<li>Returns an array of experiment objects</li>
<li>Each experiment contains identification, timing, and variation data</li>
<li>Empty or null values are automatically filtered out</li>
<li>Results are ordered by the database query (typically by experiment_id)</li>
</ul>
<p><strong>Data interpretation:</strong></p>
<ul>
<li><strong>experiment_id</strong>: References the layer_experiment_id from rules connected to this holdout</li>
<li><strong>Timing fields</strong>: Reflect actual experiment run periods from reports</li>
<li><strong>deployed_variation_id</strong>: Present only when experiments have specific variation deployments</li>
<li><strong>Missing end_time</strong>: Indicates ongoing or perpetually running experiments</li>
<li><strong>Missing deployed_variation_id</strong>: Experiments without specific variation targeting</li>
</ul>
<p><strong>Empty response scenarios:</strong></p>
<ul>
<li>Holdout exists but has no connected experiments (valid scenario)</li>
<li>No rules in the project match the holdout's configuration</li>
<li>All connected experiments have been archived or removed</li>
</ul>
<p><strong>Use this data for:</strong></p>
<ul>
<li>Understanding experiment overlap with holdout traffic</li>
<li>Planning holdout changes with awareness of affected experiments</li>
<li>Building experiment impact reports and analytics</li>
<li>Coordinating experiment timelines and traffic allocation</li>
</ul>
400<p>Bad Request - Invalid request parameters or malformed IDs.</p>
<p><strong>Common causes:</strong></p>
<ul>
<li>Invalid <code>holdout_id</code> format (must be a positive integer)</li>
<li>Invalid <code>project_id</code> format (must be a positive integer)</li>
<li>Malformed request structure or unsupported query parameters</li>
</ul>
401Invalid credentials
403<p>Forbidden - You don't have permission to view holdout experiments in this project.</p>
<p><strong>Permission requirements:</strong></p>
<ul>
<li>Must have project-level read access</li>
<li>Must have permissions to view holdouts and their associated data</li>
<li>Must have experiment data access permissions</li>
<li>Holdouts feature must be enabled for this project</li>
</ul>
<p><strong>Common causes:</strong></p>
<ul>
<li>Insufficient user permissions for holdout data access</li>
<li>Project-level permissions don't include experiment data viewing</li>
<li>Organization-level policies restrict holdout information access</li>
<li>Holdouts feature flag is disabled for this project</li>
</ul>
404<p>Not Found - The specified holdout does not exist or you don't have access to it.</p>
<p><strong>Possible reasons:</strong></p>
<ul>
<li>Holdout ID does not exist in the specified project</li>
<li>Project ID does not exist or you don't have access to it</li>
<li>Holdout was permanently deleted</li>
<li>Insufficient permissions to view this holdout or its experiments</li>
</ul>
<p><strong>Note</strong>: Returns 404 even if holdout exists but you lack permissions, for security reasons.</p>
curl --request GET \
--url https://api.optimizely.com/flags/v1//projects/{project_id}/holdouts/{holdout_id}/experiments \
--header 'accept: application/json'