Fetch a single Holdout
1 min
GET
https://api.optimizely.com/flags/v1//projects/{project_id}/holdouts/{holdout_id}
project_idintegerThe project identifier
holdout_idintegerThe holdout identifier
acceptstringGenerated from available response content types
200<p>Successfully retrieved the holdout with all its configuration details.</p>
<p><strong>Response includes:</strong></p>
<ul>
<li><strong>Core properties</strong>: ID, key, name, description, status, traffic allocation</li>
<li><strong>Lifecycle data</strong>: Created/updated timestamps, start/end times (if applicable)</li>
<li><strong>Configuration</strong>: Environment, audience conditions, metrics setup</li>
<li><strong>Experiment rules</strong>: Associated experiments and their allocation settings</li>
<li><strong>Management links</strong>: URLs for update, archive, delete operations (if authorized)</li>
<li><strong>System metadata</strong>: URN, project association, archive status</li>
</ul>
<p><strong>Link availability depends on user permissions:</strong></p>
<ul>
<li>Missing <code>update_url</code>: Cannot modify this holdout</li>
<li>Missing <code>delete_url</code>: Cannot permanently delete</li>
<li>Missing <code>archive_url</code>/<code>unarchive_url</code>: Cannot change archive status</li>
</ul>
<p><strong>Status-specific data:</strong></p>
<ul>
<li><strong>Draft holdouts</strong>: Full configuration, no timing data</li>
<li><strong>Running holdouts</strong>: Includes <code>start_time</code>, active experiment rules</li>
<li><strong>Concluded holdouts</strong>: Includes both <code>start_time</code> and <code>end_time</code></li>
</ul>
400<p>Bad Request - Invalid request parameters or malformed holdout ID.</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
403Do not have permission to perform the operation
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</li>
</ul>
curl --request GET \
--url https://api.optimizely.com/flags/v1//projects/{project_id}/holdouts/{holdout_id} \
--header 'accept: application/json'