---
title: Fetch a single Holdout
slug: feature-experimentation/api/fetch-a-single-holdout
docTags: 
createdAt: 2026-08-28T15:54:06.731Z
---

{
  "id": "zjxhRG15ea26rj5hHxcmO",
  "type": "api-oas-v2",
  "data": {
    "method": "GET",
    "url": "https://api.optimizely.com/flags/v1//projects/{project_id}/holdouts/{holdout_id}",
    "servers": [
      {
        "url": "https://api.optimizely.com/flags/v1//projects/{project_id}/holdouts/{holdout_id}"
      }
    ],
    "name": "Fetch a single Holdout",
    "description": "<p>Retrieves detailed information about a specific holdout by its unique ID within a project.</p>\n<p><strong>What you'll get:</strong></p>\n<ul>\n<li>Complete holdout configuration including traffic allocation, status, and settings</li>\n<li>Associated experiment rules and their current states</li>\n<li>Audience conditions and targeting criteria (if configured)</li>\n<li>Metric tracking configuration and current values</li>\n<li>Lifecycle timestamps (created, updated, started, ended)</li>\n<li>RESTful links for related operations (update, delete, archive, etc.)</li>\n</ul>\n<p><strong>Holdout States:</strong></p>\n<ul>\n<li><strong>Draft</strong>: Holdout is configured but not yet active</li>\n<li><strong>Running</strong>: Currently excluding traffic from experiments</li>\n<li><strong>Concluded</strong>: Finished collecting data, results available for analysis</li>\n</ul>\n<p><strong>Use Cases:</strong></p>\n<ul>\n<li>View complete holdout configuration before making changes</li>\n<li>Monitor current status and performance metrics</li>\n<li>Access experiment rules affected by this holdout</li>\n<li>Retrieve data for analysis and reporting</li>\n<li>Verify permissions for management operations via included links</li>\n</ul>\n<p>This operation corresponds to the <code>url</code> or <code>fetch_holdout_url</code> property found in holdout list responses.</p>",
    "contentType": "application/json",
    "request": {
      "pathParameters": [
        {
          "kind": "required",
          "name": "project_id",
          "type": "integer",
          "example": 12345,
          "description": "The project identifier"
        },
        {
          "kind": "required",
          "name": "holdout_id",
          "type": "integer",
          "example": 54321,
          "description": "The holdout identifier"
        }
      ],
      "headerParameters": [
        {
          "name": "accept",
          "type": "string",
          "kind": "optional",
          "description": "Generated from available response content types",
          "enum": [
            "application/json"
          ],
          "default": "application/json"
        }
      ],
      "queryParameters": [],
      "bodyDataParameters": [],
      "formDataParameters": [],
      "oAuthParameters": [
        {
          "id": "apiKey",
          "name": "apiKey",
          "kind": "optional",
          "type": "http",
          "scheme": "bearer"
        },
        {
          "id": "OAuth2",
          "name": "OAuth2",
          "kind": "optional",
          "type": "oauth2",
          "description": "Write applications that authenticate with the REST API via OAuth 2.0.",
          "oauth2Flows": {
            "authorizationCode": {
              "authorizationUrl": "https://app.optimizely.com/oauth2/authorize",
              "tokenUrl": "https://app.optimizely.com/oauth2/token",
              "scopes": {
                "all": "Grants all access"
              }
            }
          },
          "requiredScopes": [
            "read",
            "write"
          ]
        }
      ],
      "cookieParameters": []
    },
    "responses": [
      {
        "statusCode": "200",
        "description": "<p>Successfully retrieved the holdout with all its configuration details.</p>\n<p><strong>Response includes:</strong></p>\n<ul>\n<li><strong>Core properties</strong>: ID, key, name, description, status, traffic allocation</li>\n<li><strong>Lifecycle data</strong>: Created/updated timestamps, start/end times (if applicable)</li>\n<li><strong>Configuration</strong>: Environment, audience conditions, metrics setup</li>\n<li><strong>Experiment rules</strong>: Associated experiments and their allocation settings</li>\n<li><strong>Management links</strong>: URLs for update, archive, delete operations (if authorized)</li>\n<li><strong>System metadata</strong>: URN, project association, archive status</li>\n</ul>\n<p><strong>Link availability depends on user permissions:</strong></p>\n<ul>\n<li>Missing <code>update_url</code>: Cannot modify this holdout</li>\n<li>Missing <code>delete_url</code>: Cannot permanently delete</li>\n<li>Missing <code>archive_url</code>/<code>unarchive_url</code>: Cannot change archive status</li>\n</ul>\n<p><strong>Status-specific data:</strong></p>\n<ul>\n<li><strong>Draft holdouts</strong>: Full configuration, no timing data</li>\n<li><strong>Running holdouts</strong>: Includes <code>start_time</code>, active experiment rules</li>\n<li><strong>Concluded holdouts</strong>: Includes both <code>start_time</code> and <code>end_time</code></li>\n</ul>",
        "jsonExample": "",
        "isExpanded": true,
        "subExamples": [
          {
            "label": "GENERATED",
            "code": "// Successfully retrieved the holdout with all its configuration details.\nResponse includes:\n\nCore properties: ID, key, name, description, status, traffic allocation\nLifecycle data: Created/updated timestamps, start/end times (if applicable)\nConfiguration: Environment, audience conditions, metrics setup\nExperiment rules: Associated experiments and their allocation settings\nManagement links: URLs for update, archive, delete operations (if authorized)\nSystem metadata: URN, project association, archive status\n\nLink availability depends on user permissions:\n\nMissing update_url: Cannot modify this holdout\nMissing delete_url: Cannot permanently delete\nMissing archive_url/unarchive_url: Cannot change archive status\n\nStatus-specific data:\n\nDraft holdouts: Full configuration, no timing data\nRunning holdouts: Includes start_time, active experiment rules\nConcluded holdouts: Includes both start_time and end_time\n{\n  \"archived\": false,\n  \"audience_conditions\": [\n    {}\n  ],\n  \"audience_ids\": [\n    0\n  ],\n  \"created_by_user_email\": \"user@company.com\",\n  \"created_time\": \"2023-12-15T10:00:00.000Z\",\n  \"description\": \"Holdout group to measure the overall impact of our growth experiments throughout the year\",\n  \"end_time\": \"2024-12-31T23:59:59.000Z\",\n  \"environment_key\": \"production\",\n  \"environment_name\": \"Production\",\n  \"exclude_targeted_deliveries\": false,\n  \"holdout_results_api_token\": \"SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\",\n  \"id\": 12345,\n  \"key\": \"annual_growth_holdout\",\n  \"metrics\": [\n    {\n      \"aggregator\": \"\",\n      \"display_title\": \"\",\n      \"display_unit\": \"\",\n      \"event_id\": 32334454244,\n      \"event_properties\": {\n        \"filter\": {\n          \"combine_operator\": \"\",\n          \"conditions\": [\n            {\n              \"name\": \"\",\n              \"operator\": \"\",\n              \"type\": \"\",\n              \"value\": \"\"\n            }\n          ]\n        }\n      },\n      \"event_type\": \"\",\n      \"field\": \"\",\n      \"id\": \"\",\n      \"metrics\": [\n        {\n          \"aggregator\": \"\",\n          \"display_title\": \"\",\n          \"event_id\": 0,\n          \"event_type\": \"\",\n          \"field\": \"\",\n          \"role\": \"\",\n          \"scope\": \"\"\n        }\n      ],\n      \"project_id\": 0,\n      \"scope\": \"\",\n      \"visibility\": \"\",\n      \"winning_direction\": \"\"\n    }\n  ],\n  \"name\": \"Annual Growth Control Group\",\n  \"project_id\": 98765,\n  \"projects\": [\n    {\n      \"id\": \"\"\n    }\n  ],\n  \"revision\": 3,\n  \"rules\": [\n    {\n      \"flag_id\": \"\",\n      \"flag_key\": \"\",\n      \"flag_name\": \"\",\n      \"id\": \"\",\n      \"key\": \"\",\n      \"name\": \"\",\n      \"project_id\": \"\"\n    }\n  ],\n  \"scope\": \"global\",\n  \"start_time\": \"2024-01-01T00:00:00.000Z\",\n  \"status\": \"running\",\n  \"traffic_allocation\": 1000,\n  \"updated_time\": \"2024-01-01T10:00:00.000Z\",\n  \"url\": \"/holdouts/12345\",\n  \"urn\": \"holdout.flag.optimizely.com::12345\"\n}"
          },
          {
            "label": "concluded_holdout",
            "code": "// Concluded holdout with complete lifecycle\n{\n  \"archive_url\": \"/projects/12345/holdouts/archived\",\n  \"archived\": false,\n  \"created_time\": \"2024-06-28T10:00:00.000Z\",\n  \"delete_url\": \"/projects/12345/holdouts/987\",\n  \"description\": \"Completed control group study showing 15% incremental impact\",\n  \"end_time\": \"2024-08-31T23:59:59.000Z\",\n  \"environment_key\": \"production\",\n  \"holdout_results_api_token\": \"SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\",\n  \"id\": 987,\n  \"key\": \"q3_control_group\",\n  \"metrics\": [\n    {\n      \"id\": \"conversion_rate\",\n      \"name\": \"Conversion Rate\",\n      \"type\": \"custom\"\n    },\n    {\n      \"id\": \"revenue_per_visitor\",\n      \"name\": \"Revenue per Visitor\",\n      \"type\": \"custom\"\n    }\n  ],\n  \"name\": \"Q3 Marketing Control Group - Concluded\",\n  \"project_id\": 12345,\n  \"rules\": {\n    \"456\": {\n      \"created_time\": \"2024-06-15T10:00:00.000Z\",\n      \"flag_key\": \"promo_banner\",\n      \"flag_name\": \"Promotional Banner\",\n      \"flag_status\": \"archived\",\n      \"rule_key\": \"summer_promo\",\n      \"rule_name\": \"Summer Promotion\",\n      \"traffic_allocation\": 2000,\n      \"updated_time\": \"2024-08-31T23:59:59.000Z\"\n    }\n  },\n  \"start_time\": \"2024-07-01T09:00:00.000Z\",\n  \"status\": \"concluded\",\n  \"traffic_allocation\": 1000,\n  \"updated_time\": \"2024-08-31T23:59:59.000Z\",\n  \"url\": \"/projects/12345/holdouts/987\",\n  \"urn\": \"holdouts.flag.optimizely.com::987\"\n}"
          },
          {
            "label": "draft_holdout",
            "code": "// Draft holdout ready for configuration\n{\n  \"archive_url\": \"/projects/12345/holdouts/archived\",\n  \"archived\": false,\n  \"created_time\": \"2024-09-15T10:00:00.000Z\",\n  \"delete_url\": \"/projects/12345/holdouts/987\",\n  \"description\": \"Control group for Q4 marketing campaigns to measure incremental impact\",\n  \"environment_key\": \"production\",\n  \"holdout_results_api_token\": \"SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\",\n  \"id\": 987,\n  \"key\": \"q4_control_group\",\n  \"metrics\": [],\n  \"name\": \"Q4 Marketing Control Group\",\n  \"project_id\": 12345,\n  \"rules\": {},\n  \"status\": \"draft\",\n  \"traffic_allocation\": 1000,\n  \"update_url\": \"/projects/12345/holdouts/987\",\n  \"updated_time\": \"2024-09-15T10:00:00.000Z\",\n  \"url\": \"/projects/12345/holdouts/987\",\n  \"urn\": \"holdouts.flag.optimizely.com::987\"\n}"
          },
          {
            "label": "running_holdout",
            "code": "// Active holdout with experiment rules\n{\n  \"archived\": false,\n  \"created_time\": \"2024-09-15T10:00:00.000Z\",\n  \"delete_url\": \"/projects/12345/holdouts/987\",\n  \"description\": \"Active control group excluding 10% traffic from all experiments\",\n  \"environment_key\": \"production\",\n  \"holdout_results_api_token\": \"SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\",\n  \"id\": 987,\n  \"key\": \"q4_control_group\",\n  \"metrics\": [\n    {\n      \"id\": \"revenue_impact\",\n      \"name\": \"Revenue Impact\",\n      \"type\": \"custom\"\n    }\n  ],\n  \"name\": \"Q4 Marketing Control Group\",\n  \"project_id\": 12345,\n  \"rules\": {\n    \"456\": {\n      \"created_time\": \"2024-09-10T14:30:00.000Z\",\n      \"flag_key\": \"new_checkout\",\n      \"flag_name\": \"New Checkout Experience\",\n      \"flag_status\": \"unarchived\",\n      \"rule_key\": \"checkout_experiment\",\n      \"rule_name\": \"Checkout Flow Test\",\n      \"traffic_allocation\": 2000,\n      \"updated_time\": \"2024-09-12T11:15:00.000Z\"\n    }\n  },\n  \"start_time\": \"2024-09-16T09:00:00.000Z\",\n  \"status\": \"running\",\n  \"traffic_allocation\": 1000,\n  \"update_url\": \"/projects/12345/holdouts/987\",\n  \"updated_time\": \"2024-09-16T09:00:00.000Z\",\n  \"url\": \"/projects/12345/holdouts/987\",\n  \"urn\": \"holdouts.flag.optimizely.com::987\"\n}"
          }
        ],
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"archive_url\":\"/projects/12345/holdouts/archived\",\"archived\":false,\"created_time\":\"2024-06-28T10:00:00.000Z\",\"delete_url\":\"/projects/12345/holdouts/987\",\"description\":\"Completed control group study showing 15% incremental impact\",\"end_time\":\"2024-08-31T23:59:59.000Z\",\"environment_key\":\"production\",\"holdout_results_api_token\":\"SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\",\"id\":987,\"key\":\"q3_control_group\",\"metrics\":[{\"id\":\"conversion_rate\",\"name\":\"Conversion Rate\",\"type\":\"custom\"},{\"id\":\"revenue_per_visitor\",\"name\":\"Revenue per Visitor\",\"type\":\"custom\"}],\"name\":\"Q3 Marketing Control Group - Concluded\",\"project_id\":12345,\"rules\":{\"456\":{\"created_time\":\"2024-06-15T10:00:00.000Z\",\"flag_key\":\"promo_banner\",\"flag_name\":\"Promotional Banner\",\"flag_status\":\"archived\",\"rule_key\":\"summer_promo\",\"rule_name\":\"Summer Promotion\",\"traffic_allocation\":2000,\"updated_time\":\"2024-08-31T23:59:59.000Z\"}},\"start_time\":\"2024-07-01T09:00:00.000Z\",\"status\":\"concluded\",\"traffic_allocation\":1000,\"updated_time\":\"2024-08-31T23:59:59.000Z\",\"url\":\"/projects/12345/holdouts/987\",\"urn\":\"holdouts.flag.optimizely.com::987\"}",
            "examples": [
              {
                "label": "Concluded holdout with complete lifecycle",
                "value": "{\"archive_url\":\"/projects/12345/holdouts/archived\",\"archived\":false,\"created_time\":\"2024-06-28T10:00:00.000Z\",\"delete_url\":\"/projects/12345/holdouts/987\",\"description\":\"Completed control group study showing 15% incremental impact\",\"end_time\":\"2024-08-31T23:59:59.000Z\",\"environment_key\":\"production\",\"holdout_results_api_token\":\"SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\",\"id\":987,\"key\":\"q3_control_group\",\"metrics\":[{\"id\":\"conversion_rate\",\"name\":\"Conversion Rate\",\"type\":\"custom\"},{\"id\":\"revenue_per_visitor\",\"name\":\"Revenue per Visitor\",\"type\":\"custom\"}],\"name\":\"Q3 Marketing Control Group - Concluded\",\"project_id\":12345,\"rules\":{\"456\":{\"created_time\":\"2024-06-15T10:00:00.000Z\",\"flag_key\":\"promo_banner\",\"flag_name\":\"Promotional Banner\",\"flag_status\":\"archived\",\"rule_key\":\"summer_promo\",\"rule_name\":\"Summer Promotion\",\"traffic_allocation\":2000,\"updated_time\":\"2024-08-31T23:59:59.000Z\"}},\"start_time\":\"2024-07-01T09:00:00.000Z\",\"status\":\"concluded\",\"traffic_allocation\":1000,\"updated_time\":\"2024-08-31T23:59:59.000Z\",\"url\":\"/projects/12345/holdouts/987\",\"urn\":\"holdouts.flag.optimizely.com::987\"}"
              },
              {
                "label": "Draft holdout ready for configuration",
                "value": "{\"archive_url\":\"/projects/12345/holdouts/archived\",\"archived\":false,\"created_time\":\"2024-09-15T10:00:00.000Z\",\"delete_url\":\"/projects/12345/holdouts/987\",\"description\":\"Control group for Q4 marketing campaigns to measure incremental impact\",\"environment_key\":\"production\",\"holdout_results_api_token\":\"SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\",\"id\":987,\"key\":\"q4_control_group\",\"metrics\":[],\"name\":\"Q4 Marketing Control Group\",\"project_id\":12345,\"rules\":{},\"status\":\"draft\",\"traffic_allocation\":1000,\"update_url\":\"/projects/12345/holdouts/987\",\"updated_time\":\"2024-09-15T10:00:00.000Z\",\"url\":\"/projects/12345/holdouts/987\",\"urn\":\"holdouts.flag.optimizely.com::987\"}"
              },
              {
                "label": "Active holdout with experiment rules",
                "value": "{\"archived\":false,\"created_time\":\"2024-09-15T10:00:00.000Z\",\"delete_url\":\"/projects/12345/holdouts/987\",\"description\":\"Active control group excluding 10% traffic from all experiments\",\"environment_key\":\"production\",\"holdout_results_api_token\":\"SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\",\"id\":987,\"key\":\"q4_control_group\",\"metrics\":[{\"id\":\"revenue_impact\",\"name\":\"Revenue Impact\",\"type\":\"custom\"}],\"name\":\"Q4 Marketing Control Group\",\"project_id\":12345,\"rules\":{\"456\":{\"created_time\":\"2024-09-10T14:30:00.000Z\",\"flag_key\":\"new_checkout\",\"flag_name\":\"New Checkout Experience\",\"flag_status\":\"unarchived\",\"rule_key\":\"checkout_experiment\",\"rule_name\":\"Checkout Flow Test\",\"traffic_allocation\":2000,\"updated_time\":\"2024-09-12T11:15:00.000Z\"}},\"start_time\":\"2024-09-16T09:00:00.000Z\",\"status\":\"running\",\"traffic_allocation\":1000,\"update_url\":\"/projects/12345/holdouts/987\",\"updated_time\":\"2024-09-16T09:00:00.000Z\",\"url\":\"/projects/12345/holdouts/987\",\"urn\":\"holdouts.flag.optimizely.com::987\"}"
              }
            ],
            "description": "<p>Represents a holdout experiment that reserves a portion of traffic to measure the impact of feature flags and experiments.</p>\n<p>Holdouts help establish control groups by excluding a percentage of users from seeing any experiments, allowing you to measure the overall impact of your experimentation program against a baseline.</p>",
            "customType": "Holdout",
            "schema": [
              {
                "name": "archived",
                "kind": "optional",
                "type": "boolean",
                "description": "Whether the holdout is archived. Archived holdouts are hidden from normal views\nbut retain their historical data and configuration.\n",
                "example": false
              },
              {
                "name": "audience_conditions",
                "kind": "optional",
                "type": "array",
                "description": "<p>Defines which audiences this holdout applies to. If omitted, the holdout applies to all users.\nUses logical operators like 'and', 'or', 'not' to combine multiple audience conditions.</p>",
                "example": "[\"[\"or\",{\"audience_id\":5340810295},{\"audience_id\":1234567890}]\"]",
                "itemType": "object",
                "customType": "object[]",
                "itemExample": "[\"or\",{\"audience_id\":5340810295},{\"audience_id\":1234567890}]",
                "itemDefault": ""
              },
              {
                "name": "audience_ids",
                "kind": "optional",
                "type": "array",
                "deprecated": true,
                "description": "Warning: Deprecated\n<p>DEPRECATED: Use audience_conditions instead. List of audience IDs that this holdout applies to.\nThis field is maintained for backward compatibility.</p>",
                "example": "[5340810295,1234567890]",
                "itemType": "integer",
                "customType": "integer[]",
                "itemExample": "",
                "itemDefault": ""
              },
              {
                "name": "created_by_user_email",
                "kind": "optional",
                "type": "string",
                "readOnly": true,
                "description": "Email address of the user who created the holdout.",
                "example": "user@company.com"
              },
              {
                "name": "created_time",
                "kind": "optional",
                "type": "string<date-time>",
                "readOnly": true,
                "nullable": true,
                "description": "Timestamp when the holdout was originally created.",
                "example": "2023-12-15T10:00:00.000Z",
                "format": "date-time"
              },
              {
                "name": "description",
                "kind": "optional",
                "type": "string",
                "description": "Optional detailed description explaining the purpose and context of this holdout.\nHelps team members understand what this holdout is measuring.\n",
                "example": "Holdout group to measure the overall impact of our growth experiments throughout the year",
                "maxLength": 1000
              },
              {
                "name": "end_time",
                "kind": "optional",
                "type": "string<date-time>",
                "readOnly": true,
                "nullable": true,
                "description": "Timestamp when the holdout finished or will finish.\nNull for holdouts that are still running or have no defined end time.\n",
                "example": "2024-12-31T23:59:59.000Z",
                "format": "date-time"
              },
              {
                "name": "environment_key",
                "kind": "optional",
                "type": "string",
                "description": "<p>The environment where this holdout is active (e.g., 'production', 'staging').\nThe holdout only affects traffic in this specific environment.</p>",
                "example": "production"
              },
              {
                "name": "environment_name",
                "kind": "optional",
                "type": "string",
                "readOnly": true,
                "description": "<p>The human-readable name of the environment where this holdout is active.</p>",
                "example": "Production"
              },
              {
                "name": "exclude_targeted_deliveries",
                "kind": "optional",
                "type": "boolean",
                "description": "<p>When true, Targeted Delivery rules are excluded from this holdout, so\nholdout users are not withheld from them. Targeted Deliveries represent\npermanent ship decisions rather than active experiments, so there is\nnothing to measure by withholding them.\nApplies to global holdouts only; ignored for local holdouts.\nCan only be changed while the holdout is in draft status.\nDefaults to false.</p>",
                "example": false,
                "default": false
              },
              {
                "name": "holdout_results_api_token",
                "kind": "optional",
                "type": "string",
                "readOnly": true,
                "description": "<p>API token for accessing holdout results and analytics data.\nThis token is dynamically generated for each API response and provides\nsecure access to holdout-specific results endpoints.</p>",
                "example": "SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9"
              },
              {
                "name": "id",
                "kind": "required",
                "type": "integer",
                "readOnly": true,
                "description": "<p>System-generated unique identifier for the holdout.</p>",
                "example": 12345
              },
              {
                "name": "key",
                "kind": "required",
                "type": "string",
                "description": "<p>Unique user-defined identifier for the holdout within the project.\nMust contain only alphanumeric characters, underscores, and hyphens.</p>",
                "example": "annual_growth_holdout",
                "maxLength": 64,
                "pattern": "^[a-zA-Z0-9_\\-]+$"
              },
              {
                "name": "metrics",
                "kind": "optional",
                "type": "array",
                "description": "List of metrics being tracked and analyzed for this holdout.\nThese metrics help measure the impact of experiments on the control group.\n",
                "modelRef": "#/components/schemas/Metric",
                "customType": "Metric[]",
                "schema": [
                  {
                    "name": "aggregator",
                    "kind": "required",
                    "type": "string<unique | count | sum | ratio>",
                    "description": "<p>The aggregation function for the numerator of the metric. 'unique' measures the number of unique visitors/sessions that include the specified Event. 'count' measures the total number of occurrences of Event for the scope (visitor/session). 'sum' is the sum of the 'field' value</p>",
                    "enum": [
                      "unique",
                      "count",
                      "sum",
                      "ratio"
                    ]
                  },
                  {
                    "name": "display_title",
                    "kind": "optional",
                    "type": "string",
                    "description": "<p>An optional title for the unique metric configuration. If not provided, the event name will be used.</p>"
                  },
                  {
                    "name": "display_unit",
                    "kind": "optional",
                    "type": "string",
                    "description": "An optional name for the unit of the unique metric configuration."
                  },
                  {
                    "name": "event_id",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "<p>The ID for the Event to select data from. Omitted for global metrics that are not relative to a specific Event, i.e. \"overall revenue\"</p>",
                    "example": 32334454244,
                    "format": "int64"
                  },
                  {
                    "name": "event_properties",
                    "kind": "optional",
                    "type": "object",
                    "description": "",
                    "example": "",
                    "schema": [
                      {
                        "name": "filter",
                        "kind": "optional",
                        "type": "object",
                        "description": "",
                        "example": "",
                        "schema": [
                          {
                            "name": "combine_operator",
                            "kind": "optional",
                            "type": "string<or | and>",
                            "description": "",
                            "enum": [
                              "or",
                              "and"
                            ]
                          },
                          {
                            "name": "conditions",
                            "kind": "optional",
                            "type": "array",
                            "description": "",
                            "modelRef": "#/components/schemas/EventPropertyCondition",
                            "customType": "EventPropertyCondition[]",
                            "schema": [
                              {
                                "name": "name",
                                "kind": "required",
                                "type": "string",
                                "description": ""
                              },
                              {
                                "name": "operator",
                                "kind": "required",
                                "type": "string<equal_to | not_equal_to | greater_than | greater_than_or_equal_to | less_than | less_than_or_equal_to | contains | does_not_contain>",
                                "description": "",
                                "enum": [
                                  "equal_to",
                                  "not_equal_to",
                                  "greater_than",
                                  "greater_than_or_equal_to",
                                  "less_than",
                                  "less_than_or_equal_to",
                                  "contains",
                                  "does_not_contain"
                                ]
                              },
                              {
                                "name": "type",
                                "kind": "required",
                                "type": "string<string | number | boolean>",
                                "description": "",
                                "enum": [
                                  "string",
                                  "number",
                                  "boolean"
                                ]
                              },
                              {
                                "name": "value",
                                "kind": "required",
                                "type": "string",
                                "description": ""
                              }
                            ]
                          }
                        ]
                      }
                    ]
                  },
                  {
                    "name": "event_type",
                    "kind": "optional",
                    "type": "string",
                    "description": ""
                  },
                  {
                    "name": "field",
                    "kind": "optional",
                    "type": "string<revenue | value>",
                    "nullable": true,
                    "description": "<p>The field to aggregate for the numerator of the metric. Required when 'aggregator' = 'sum', otherwise omitted</p>",
                    "enum": [
                      "revenue",
                      "value"
                    ]
                  },
                  {
                    "name": "id",
                    "kind": "optional",
                    "type": "string",
                    "description": "A unique identifier for the metric configuration."
                  },
                  {
                    "name": "metrics",
                    "kind": "optional",
                    "type": "array",
                    "description": "",
                    "modelRef": "#/components/schemas/SubMetric",
                    "customType": "SubMetric[]",
                    "schema": [
                      {
                        "name": "aggregator",
                        "kind": "optional",
                        "type": "string",
                        "description": ""
                      },
                      {
                        "name": "display_title",
                        "kind": "optional",
                        "type": "string",
                        "nullable": true,
                        "description": ""
                      },
                      {
                        "name": "event_id",
                        "kind": "optional",
                        "type": "integer",
                        "description": ""
                      },
                      {
                        "name": "event_type",
                        "kind": "optional",
                        "type": "string",
                        "description": ""
                      },
                      {
                        "name": "field",
                        "kind": "optional",
                        "type": "string",
                        "nullable": true,
                        "description": ""
                      },
                      {
                        "name": "role",
                        "kind": "optional",
                        "type": "string<numerator | denominator>",
                        "description": "",
                        "enum": [
                          "numerator",
                          "denominator"
                        ]
                      },
                      {
                        "name": "scope",
                        "kind": "optional",
                        "type": "string",
                        "description": ""
                      }
                    ]
                  },
                  {
                    "name": "project_id",
                    "kind": "optional",
                    "type": "integer",
                    "description": "A unique identifier for the project associated with the metric."
                  },
                  {
                    "name": "scope",
                    "kind": "optional",
                    "type": "string<session | visitor | event>",
                    "description": "<p>Specifies how Events should be grouped together. Can also be thought of as the denonimator of the metric. 'session' divides by the number of sessions. \"Influenced sessions\", or sessions that do not contain a decision Event but carry a decision from a previous session are not included in counts for numerator or denominator. 'visitor' divides by the number of visitors. 'event' divides by the total occurrences (impressions) of the specified Event</p>",
                    "enum": [
                      "session",
                      "visitor",
                      "event"
                    ]
                  },
                  {
                    "name": "visibility",
                    "kind": "optional",
                    "type": "string<account | experiment | project>",
                    "description": "The visibility of the metric.",
                    "enum": [
                      "account",
                      "experiment",
                      "project"
                    ]
                  },
                  {
                    "name": "winning_direction",
                    "kind": "required",
                    "type": "string<increasing | decreasing>",
                    "description": "The winning direction of this metric",
                    "enum": [
                      "increasing",
                      "decreasing"
                    ]
                  }
                ]
              },
              {
                "name": "name",
                "kind": "required",
                "type": "string",
                "description": "<p>Human-readable name for the holdout displayed in the UI.</p>",
                "example": "Annual Growth Control Group",
                "maxLength": 255
              },
              {
                "name": "project_id",
                "kind": "optional",
                "type": "integer<int64>",
                "readOnly": true,
                "description": "The unique identifier of the project this holdout belongs to.",
                "example": 98765,
                "format": "int64"
              },
              {
                "name": "projects",
                "kind": "optional",
                "type": "array",
                "readOnly": true,
                "description": "<p>Project objects returned by cross-project GET endpoints.\nFor global-scope holdouts, lists target project IDs.\nEmpty array for local-scope holdouts.\nFrontend resolves project names via entity-management API.</p>",
                "example": "[{\"id\":123}]",
                "itemType": "object",
                "customType": "object[]",
                "schema": [
                  {
                    "name": "id",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Project ID.",
                    "format": "int64"
                  }
                ]
              },
              {
                "name": "revision",
                "kind": "optional",
                "type": "integer",
                "readOnly": true,
                "description": "Revision number that increments with each change to the holdout.\nUsed for tracking modifications and ensuring data consistency.\n",
                "example": 3
              },
              {
                "name": "rules",
                "kind": "optional",
                "type": "array",
                "readOnly": true,
                "description": "<p>Enriched rule objects returned by cross-project GET endpoints.\nFor local-scope holdouts, lists target rules with metadata.\nEmpty array for global-scope holdouts.</p>",
                "example": "[{\"flag_key\":\"my_flag\",\"id\":456,\"key\":\"experiment_rule_a\",\"name\":\"Experiment Rule A\",\"project_id\":123}]",
                "itemType": "object",
                "customType": "object[]",
                "schema": [
                  {
                    "name": "flag_id",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ID of the flag containing this rule.",
                    "format": "int64"
                  },
                  {
                    "name": "flag_key",
                    "kind": "optional",
                    "type": "string",
                    "description": "Key of the flag containing this rule."
                  },
                  {
                    "name": "flag_name",
                    "kind": "optional",
                    "type": "string",
                    "description": "Name of the flag containing this rule."
                  },
                  {
                    "name": "id",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "Rule ID.",
                    "format": "int64"
                  },
                  {
                    "name": "key",
                    "kind": "optional",
                    "type": "string",
                    "description": "Rule key."
                  },
                  {
                    "name": "name",
                    "kind": "optional",
                    "type": "string",
                    "description": "Rule name."
                  },
                  {
                    "name": "project_id",
                    "kind": "optional",
                    "type": "integer<int64>",
                    "description": "ID of the project this rule belongs to.",
                    "format": "int64"
                  }
                ]
              },
              {
                "name": "scope",
                "kind": "optional",
                "type": "string<global | local>",
                "description": "<p>Defines the scope of the holdout:</p>\n<ul>\n<li>'global': Affects all experiments across the entire project</li>\n<li>'local': Affects only specific experiments or flags</li>\n</ul>",
                "example": "global",
                "enum": [
                  "global",
                  "local"
                ]
              },
              {
                "name": "start_time",
                "kind": "optional",
                "type": "string<date-time>",
                "description": "Timestamp when the holdout became or will become active.\nWhen the holdout starts affecting traffic allocation.\n",
                "example": "2024-01-01T00:00:00.000Z",
                "format": "date-time"
              },
              {
                "name": "status",
                "kind": "optional",
                "type": "string<draft | running | concluded>",
                "description": "<p>Current operational status of the holdout:</p>\n<ul>\n<li>'draft': Holdout is configured but not yet active</li>\n<li>'running': Holdout is currently active and affecting traffic</li>\n<li>'concluded': Holdout has finished and is no longer active</li>\n</ul>",
                "example": "running",
                "enum": [
                  "draft",
                  "running",
                  "concluded"
                ]
              },
              {
                "name": "traffic_allocation",
                "kind": "optional",
                "type": "integer",
                "description": "<p>Percentage of traffic allocated to this holdout, expressed in basis points (1/100th of a percent).\nFor example: 100 = 1%, 1000 = 10%, 5000 = 50%. The remaining traffic sees experiments normally.</p>",
                "example": 1000,
                "minimum": 0,
                "maximum": 10000
              },
              {
                "name": "updated_time",
                "kind": "optional",
                "type": "string<date-time>",
                "readOnly": true,
                "description": "Timestamp when the holdout was last modified.",
                "example": "2024-01-01T10:00:00.000Z",
                "format": "date-time"
              },
              {
                "name": "url",
                "kind": "optional",
                "type": "string",
                "readOnly": true,
                "description": "<p>RESTful link to fetch this holdout's details.\nFor project-scoped endpoints: /projects/{project_id}/holdouts/{holdout_id}\nFor cross-project endpoints: /holdouts/{holdout_id}</p>",
                "example": "/holdouts/12345"
              },
              {
                "name": "urn",
                "kind": "optional",
                "type": "string",
                "readOnly": true,
                "description": "<p>Universal Resource Name (URN) for the holdout, used for global identification.</p>",
                "example": "holdout.flag.optimizely.com::12345"
              }
            ],
            "modelRef": "#/components/schemas/Holdout",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "400",
        "description": "<p>Bad Request - Invalid request parameters or malformed holdout ID.</p>\n<p><strong>Common causes:</strong></p>\n<ul>\n<li>Invalid <code>holdout_id</code> format (must be a positive integer)</li>\n<li>Invalid <code>project_id</code> format (must be a positive integer)</li>\n<li>Malformed request structure or unsupported query parameters</li>\n</ul>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"detail\":\"Holdout ID must be a positive integer\",\"status\":400,\"title\":\"Invalid holdout ID\",\"type\":\"about:blank\"}",
            "description": "<p><a href=\"https://tools.ietf.org/html/rfc7807#section-3.1\" target=\"_blank\">https://tools.ietf.org/html/rfc7807#section-3.1</a></p>",
            "customType": "ProblemDetail",
            "schema": [
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": "<p>A human-readable explanation specific to this occurrence of the problem.</p>"
              },
              {
                "name": "status",
                "kind": "required",
                "type": "integer",
                "description": "<p>The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.</p>"
              },
              {
                "name": "title",
                "kind": "required",
                "type": "string",
                "description": "<p>A short, human-readable summary of the problem type.</p>"
              },
              {
                "name": "type",
                "kind": "required",
                "type": "string",
                "description": "<p>A URI reference [RFC3986] that identifies the problem type. Contains 'about</p><div></div>' if unspecified.<p></p>"
              },
              {
                "name": "uuid",
                "kind": "optional",
                "type": "string",
                "description": "Error reference for customer support"
              }
            ],
            "modelRef": "#/components/schemas/ProblemDetail",
            "isExpanded": true
          }
        ]
      },
      {
        "statusCode": "401",
        "description": "Invalid credentials",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "403",
        "description": "Do not have permission to perform the operation",
        "jsonExample": "",
        "isExpanded": true
      },
      {
        "statusCode": "404",
        "description": "<p>Not Found - The specified holdout does not exist or you don't have access to it.</p>\n<p><strong>Possible reasons:</strong></p>\n<ul>\n<li>Holdout ID does not exist in the specified project</li>\n<li>Project ID does not exist or you don't have access to it</li>\n<li>Holdout was permanently deleted</li>\n<li>Insufficient permissions to view this holdout</li>\n</ul>",
        "jsonExample": "",
        "isExpanded": true,
        "schema": [
          {
            "kind": "optional",
            "type": "object",
            "example": "{\"detail\":\"Holdout not found with id '987'\",\"status\":404,\"title\":\"Holdout not found\",\"type\":\"about:blank\"}",
            "description": "<p><a href=\"https://tools.ietf.org/html/rfc7807#section-3.1\" target=\"_blank\">https://tools.ietf.org/html/rfc7807#section-3.1</a></p>",
            "customType": "ProblemDetail",
            "schema": [
              {
                "name": "detail",
                "kind": "required",
                "type": "string",
                "description": "<p>A human-readable explanation specific to this occurrence of the problem.</p>"
              },
              {
                "name": "status",
                "kind": "required",
                "type": "integer",
                "description": "<p>The HTTP status code ([RFC7231], Section 6) generated by the origin server for this occurrence of the problem.</p>"
              },
              {
                "name": "title",
                "kind": "required",
                "type": "string",
                "description": "<p>A short, human-readable summary of the problem type.</p>"
              },
              {
                "name": "type",
                "kind": "required",
                "type": "string",
                "description": "<p>A URI reference [RFC3986] that identifies the problem type. Contains 'about</p><div></div>' if unspecified.<p></p>"
              },
              {
                "name": "uuid",
                "kind": "optional",
                "type": "string",
                "description": "Error reference for customer support"
              }
            ],
            "modelRef": "#/components/schemas/ProblemDetail",
            "isExpanded": true
          }
        ]
      }
    ],
    "hasXCodeSamples": false,
    "examples": {
      "languages": [
        {
          "id": "nRSaVsbG6fMA39bob2Jx1",
          "language": "curl",
          "label": "cURL",
          "code": "curl --request GET \\\n     --url https://api.optimizely.com/flags/v1//projects/{project_id}/holdouts/{holdout_id} \\\n     --header 'accept: application/json'"
        },
        {
          "id": "D_ySeJbGNIa1oToUXcPSq",
          "language": "javascript",
          "label": "javascript",
          "code": "var myHeaders = new Headers();\nmyHeaders.append(\"accept\", \"application/json\");\nmyHeaders.append(\"content-type\", \"application/json\");\n\nvar requestOptions = {\n   method: 'GET',\n   headers: myHeaders,\n   redirect: 'follow'\n};\n\nfetch(\"https://api.optimizely.com/flags/v1//projects/{project_id}/holdouts/{holdout_id}\", requestOptions)\n   .then(response => response.text())\n   .then(result => console.log(result))\n   .catch(error => console.log('error', error));"
        },
        {
          "id": "g9LaFbiLVb8saA-3C5xe_",
          "language": "ruby",
          "label": "Ruby",
          "code": "require \"uri\"\nrequire \"json\"\nrequire \"net/http\"\n\nurl = URI(\"https://api.optimizely.com/flags/v1//projects/{project_id}/holdouts/{holdout_id}\")\n\nhttps = Net::HTTP.new(url.host, url.port)\nhttps.use_ssl = true\n\nrequest = Net::HTTP::Get.new(url)\nrequest[\"accept\"] = \"application/json\"\nrequest[\"content-type\"] = \"application/json\"\n\nresponse = https.request(request)\nputs response.read_body\n"
        },
        {
          "id": "oLyI7aQfqPWmOvl4-xKFl",
          "language": "python",
          "label": "Python",
          "code": "import requests\nimport json\n\nurl = \"https://api.optimizely.com/flags/v1//projects/{project_id}/holdouts/{holdout_id}\"\n\npayload = {}\nheaders = {\n   'accept': 'application/json',\n   'content-type': 'application/json'\n}\n\nresponse = requests.request(\"GET\", url, headers=headers, data=payload)\n\nprint(response.text)\n"
        }
      ],
      "selectedLanguageId": "nRSaVsbG6fMA39bob2Jx1"
    },
    "results": {
      "languages": [
        {
          "id": "response-0-200",
          "language": "200",
          "code": "// Successfully retrieved the holdout with all its configuration details.\nResponse includes:\n\nCore properties: ID, key, name, description, status, traffic allocation\nLifecycle data: Created/updated timestamps, start/end times (if applicable)\nConfiguration: Environment, audience conditions, metrics setup\nExperiment rules: Associated experiments and their allocation settings\nManagement links: URLs for update, archive, delete operations (if authorized)\nSystem metadata: URN, project association, archive status\n\nLink availability depends on user permissions:\n\nMissing update_url: Cannot modify this holdout\nMissing delete_url: Cannot permanently delete\nMissing archive_url/unarchive_url: Cannot change archive status\n\nStatus-specific data:\n\nDraft holdouts: Full configuration, no timing data\nRunning holdouts: Includes start_time, active experiment rules\nConcluded holdouts: Includes both start_time and end_time\n{\n  \"archived\": false,\n  \"audience_conditions\": [\n    {}\n  ],\n  \"audience_ids\": [\n    0\n  ],\n  \"created_by_user_email\": \"user@company.com\",\n  \"created_time\": \"2023-12-15T10:00:00.000Z\",\n  \"description\": \"Holdout group to measure the overall impact of our growth experiments throughout the year\",\n  \"end_time\": \"2024-12-31T23:59:59.000Z\",\n  \"environment_key\": \"production\",\n  \"environment_name\": \"Production\",\n  \"exclude_targeted_deliveries\": false,\n  \"holdout_results_api_token\": \"SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\",\n  \"id\": 12345,\n  \"key\": \"annual_growth_holdout\",\n  \"metrics\": [\n    {\n      \"aggregator\": \"\",\n      \"display_title\": \"\",\n      \"display_unit\": \"\",\n      \"event_id\": 32334454244,\n      \"event_properties\": {\n        \"filter\": {\n          \"combine_operator\": \"\",\n          \"conditions\": [\n            {\n              \"name\": \"\",\n              \"operator\": \"\",\n              \"type\": \"\",\n              \"value\": \"\"\n            }\n          ]\n        }\n      },\n      \"event_type\": \"\",\n      \"field\": \"\",\n      \"id\": \"\",\n      \"metrics\": [\n        {\n          \"aggregator\": \"\",\n          \"display_title\": \"\",\n          \"event_id\": 0,\n          \"event_type\": \"\",\n          \"field\": \"\",\n          \"role\": \"\",\n          \"scope\": \"\"\n        }\n      ],\n      \"project_id\": 0,\n      \"scope\": \"\",\n      \"visibility\": \"\",\n      \"winning_direction\": \"\"\n    }\n  ],\n  \"name\": \"Annual Growth Control Group\",\n  \"project_id\": 98765,\n  \"projects\": [\n    {\n      \"id\": \"\"\n    }\n  ],\n  \"revision\": 3,\n  \"rules\": [\n    {\n      \"flag_id\": \"\",\n      \"flag_key\": \"\",\n      \"flag_name\": \"\",\n      \"id\": \"\",\n      \"key\": \"\",\n      \"name\": \"\",\n      \"project_id\": \"\"\n    }\n  ],\n  \"scope\": \"global\",\n  \"start_time\": \"2024-01-01T00:00:00.000Z\",\n  \"status\": \"running\",\n  \"traffic_allocation\": 1000,\n  \"updated_time\": \"2024-01-01T10:00:00.000Z\",\n  \"url\": \"/holdouts/12345\",\n  \"urn\": \"holdout.flag.optimizely.com::12345\"\n}",
          "subExamples": [
            {
              "label": "GENERATED",
              "code": "// Successfully retrieved the holdout with all its configuration details.\nResponse includes:\n\nCore properties: ID, key, name, description, status, traffic allocation\nLifecycle data: Created/updated timestamps, start/end times (if applicable)\nConfiguration: Environment, audience conditions, metrics setup\nExperiment rules: Associated experiments and their allocation settings\nManagement links: URLs for update, archive, delete operations (if authorized)\nSystem metadata: URN, project association, archive status\n\nLink availability depends on user permissions:\n\nMissing update_url: Cannot modify this holdout\nMissing delete_url: Cannot permanently delete\nMissing archive_url/unarchive_url: Cannot change archive status\n\nStatus-specific data:\n\nDraft holdouts: Full configuration, no timing data\nRunning holdouts: Includes start_time, active experiment rules\nConcluded holdouts: Includes both start_time and end_time\n{\n  \"archived\": false,\n  \"audience_conditions\": [\n    {}\n  ],\n  \"audience_ids\": [\n    0\n  ],\n  \"created_by_user_email\": \"user@company.com\",\n  \"created_time\": \"2023-12-15T10:00:00.000Z\",\n  \"description\": \"Holdout group to measure the overall impact of our growth experiments throughout the year\",\n  \"end_time\": \"2024-12-31T23:59:59.000Z\",\n  \"environment_key\": \"production\",\n  \"environment_name\": \"Production\",\n  \"exclude_targeted_deliveries\": false,\n  \"holdout_results_api_token\": \"SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\",\n  \"id\": 12345,\n  \"key\": \"annual_growth_holdout\",\n  \"metrics\": [\n    {\n      \"aggregator\": \"\",\n      \"display_title\": \"\",\n      \"display_unit\": \"\",\n      \"event_id\": 32334454244,\n      \"event_properties\": {\n        \"filter\": {\n          \"combine_operator\": \"\",\n          \"conditions\": [\n            {\n              \"name\": \"\",\n              \"operator\": \"\",\n              \"type\": \"\",\n              \"value\": \"\"\n            }\n          ]\n        }\n      },\n      \"event_type\": \"\",\n      \"field\": \"\",\n      \"id\": \"\",\n      \"metrics\": [\n        {\n          \"aggregator\": \"\",\n          \"display_title\": \"\",\n          \"event_id\": 0,\n          \"event_type\": \"\",\n          \"field\": \"\",\n          \"role\": \"\",\n          \"scope\": \"\"\n        }\n      ],\n      \"project_id\": 0,\n      \"scope\": \"\",\n      \"visibility\": \"\",\n      \"winning_direction\": \"\"\n    }\n  ],\n  \"name\": \"Annual Growth Control Group\",\n  \"project_id\": 98765,\n  \"projects\": [\n    {\n      \"id\": \"\"\n    }\n  ],\n  \"revision\": 3,\n  \"rules\": [\n    {\n      \"flag_id\": \"\",\n      \"flag_key\": \"\",\n      \"flag_name\": \"\",\n      \"id\": \"\",\n      \"key\": \"\",\n      \"name\": \"\",\n      \"project_id\": \"\"\n    }\n  ],\n  \"scope\": \"global\",\n  \"start_time\": \"2024-01-01T00:00:00.000Z\",\n  \"status\": \"running\",\n  \"traffic_allocation\": 1000,\n  \"updated_time\": \"2024-01-01T10:00:00.000Z\",\n  \"url\": \"/holdouts/12345\",\n  \"urn\": \"holdout.flag.optimizely.com::12345\"\n}"
            },
            {
              "label": "concluded_holdout",
              "code": "// Concluded holdout with complete lifecycle\n{\n  \"archive_url\": \"/projects/12345/holdouts/archived\",\n  \"archived\": false,\n  \"created_time\": \"2024-06-28T10:00:00.000Z\",\n  \"delete_url\": \"/projects/12345/holdouts/987\",\n  \"description\": \"Completed control group study showing 15% incremental impact\",\n  \"end_time\": \"2024-08-31T23:59:59.000Z\",\n  \"environment_key\": \"production\",\n  \"holdout_results_api_token\": \"SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\",\n  \"id\": 987,\n  \"key\": \"q3_control_group\",\n  \"metrics\": [\n    {\n      \"id\": \"conversion_rate\",\n      \"name\": \"Conversion Rate\",\n      \"type\": \"custom\"\n    },\n    {\n      \"id\": \"revenue_per_visitor\",\n      \"name\": \"Revenue per Visitor\",\n      \"type\": \"custom\"\n    }\n  ],\n  \"name\": \"Q3 Marketing Control Group - Concluded\",\n  \"project_id\": 12345,\n  \"rules\": {\n    \"456\": {\n      \"created_time\": \"2024-06-15T10:00:00.000Z\",\n      \"flag_key\": \"promo_banner\",\n      \"flag_name\": \"Promotional Banner\",\n      \"flag_status\": \"archived\",\n      \"rule_key\": \"summer_promo\",\n      \"rule_name\": \"Summer Promotion\",\n      \"traffic_allocation\": 2000,\n      \"updated_time\": \"2024-08-31T23:59:59.000Z\"\n    }\n  },\n  \"start_time\": \"2024-07-01T09:00:00.000Z\",\n  \"status\": \"concluded\",\n  \"traffic_allocation\": 1000,\n  \"updated_time\": \"2024-08-31T23:59:59.000Z\",\n  \"url\": \"/projects/12345/holdouts/987\",\n  \"urn\": \"holdouts.flag.optimizely.com::987\"\n}"
            },
            {
              "label": "draft_holdout",
              "code": "// Draft holdout ready for configuration\n{\n  \"archive_url\": \"/projects/12345/holdouts/archived\",\n  \"archived\": false,\n  \"created_time\": \"2024-09-15T10:00:00.000Z\",\n  \"delete_url\": \"/projects/12345/holdouts/987\",\n  \"description\": \"Control group for Q4 marketing campaigns to measure incremental impact\",\n  \"environment_key\": \"production\",\n  \"holdout_results_api_token\": \"SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\",\n  \"id\": 987,\n  \"key\": \"q4_control_group\",\n  \"metrics\": [],\n  \"name\": \"Q4 Marketing Control Group\",\n  \"project_id\": 12345,\n  \"rules\": {},\n  \"status\": \"draft\",\n  \"traffic_allocation\": 1000,\n  \"update_url\": \"/projects/12345/holdouts/987\",\n  \"updated_time\": \"2024-09-15T10:00:00.000Z\",\n  \"url\": \"/projects/12345/holdouts/987\",\n  \"urn\": \"holdouts.flag.optimizely.com::987\"\n}"
            },
            {
              "label": "running_holdout",
              "code": "// Active holdout with experiment rules\n{\n  \"archived\": false,\n  \"created_time\": \"2024-09-15T10:00:00.000Z\",\n  \"delete_url\": \"/projects/12345/holdouts/987\",\n  \"description\": \"Active control group excluding 10% traffic from all experiments\",\n  \"environment_key\": \"production\",\n  \"holdout_results_api_token\": \"SampleToken.eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9\",\n  \"id\": 987,\n  \"key\": \"q4_control_group\",\n  \"metrics\": [\n    {\n      \"id\": \"revenue_impact\",\n      \"name\": \"Revenue Impact\",\n      \"type\": \"custom\"\n    }\n  ],\n  \"name\": \"Q4 Marketing Control Group\",\n  \"project_id\": 12345,\n  \"rules\": {\n    \"456\": {\n      \"created_time\": \"2024-09-10T14:30:00.000Z\",\n      \"flag_key\": \"new_checkout\",\n      \"flag_name\": \"New Checkout Experience\",\n      \"flag_status\": \"unarchived\",\n      \"rule_key\": \"checkout_experiment\",\n      \"rule_name\": \"Checkout Flow Test\",\n      \"traffic_allocation\": 2000,\n      \"updated_time\": \"2024-09-12T11:15:00.000Z\"\n    }\n  },\n  \"start_time\": \"2024-09-16T09:00:00.000Z\",\n  \"status\": \"running\",\n  \"traffic_allocation\": 1000,\n  \"update_url\": \"/projects/12345/holdouts/987\",\n  \"updated_time\": \"2024-09-16T09:00:00.000Z\",\n  \"url\": \"/projects/12345/holdouts/987\",\n  \"urn\": \"holdouts.flag.optimizely.com::987\"\n}"
            }
          ]
        },
        {
          "id": "response-1-400",
          "language": "400",
          "code": "// Bad Request - Invalid request parameters or malformed holdout ID.\nCommon causes:\n\nInvalid holdout_id format (must be a positive integer)\nInvalid project_id format (must be a positive integer)\nMalformed request structure or unsupported query parameters\n{\n  \"detail\": \"\",\n  \"status\": 0,\n  \"title\": \"\",\n  \"type\": \"\",\n  \"uuid\": \"\"\n}"
        },
        {
          "id": "response-2-401",
          "language": "401",
          "code": "// Invalid credentials\n"
        },
        {
          "id": "response-3-403",
          "language": "403",
          "code": "// Do not have permission to perform the operation\n"
        },
        {
          "id": "response-4-404",
          "language": "404",
          "code": "// Not Found - The specified holdout does not exist or you don't have access to it.\nPossible reasons:\n\nHoldout ID does not exist in the specified project\nProject ID does not exist or you don't have access to it\nHoldout was permanently deleted\nInsufficient permissions to view this holdout\n{\n  \"detail\": \"\",\n  \"status\": 0,\n  \"title\": \"\",\n  \"type\": \"\",\n  \"uuid\": \"\"\n}"
        }
      ],
      "selectedLanguageId": "response-0-200"
    }
  },
  "children": [
    {
      "text": ""
    }
  ]
}