Holdouts (beta)

Get Holdout by Id

get/api/v2/projects/{projectKey}/environments/{environmentKey}/holdouts/id/{holdoutId}

Path parameters

projectKeystring string required

The project key

The project key

environmentKeystring string required

The environment key

The environment key

holdoutIdstring string required

The holdout experiment ID

The holdout experiment ID

Response

Holdout response

_idstring required
status'created' | 'enabled' | 'running' | 'ended' required
descriptionstring
holdoutAmountstring required

The percentage of traffic allocated to this holdout.

createdAtinteger required
updatedAtinteger required

Example response

{
  "baseExperiment": {
    "_id": "12ab3c45de678910fgh12345",
    "key": "experiment-key-123abc",
    "name": "Example experiment",
    "description": "An example experiment, used in testing",
    "_maintainerId": "12ab3c45de678910fgh12345",
    "tags": [
      "experiment",
      "feature"
    ],
    "_links": {
      "parent": {
        "href": "/api/v2/projects/my-project/environments/my-environment",
        "type": "application/json"
      },
      "self": {
        "href": "/api/v2/projects/my-project/environments/my-environment/experiments/my-experiment",
        "type": "application/json"
      }
    },
    "holdoutId": "f3b74309-d581-44e1-8a2b-bb2933b4fe40",
    "currentIteration": {
      "_id": "12ab3c45de678910fgh12345",
      "hypothesis": "The new button placement will increase conversion",
      "status": "running",
      "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58",
      "winningReason": "We ran this iteration for two weeks and the winning variation was clear",
      "canReshuffleTraffic": true,
      "reallocationFrequencyMillis": 3600000,
      "primaryMetric": {
        "key": "metric-key-123abc",
        "name": "My metric",
        "kind": "custom",
        "isNumeric": true,
        "eventKey": "event-key-123abc",
        "_links": {
          "self": {
            "href": "/api/v2/metrics/my-project/my-metric",
            "type": "application/json"
          }
        },
        "metrics": [
          {
            "key": "metric-key-123abc",
            "_versionId": "version-id-123abc",
            "name": "Example metric",
            "kind": "custom",
            "isNumeric": true,
            "unitAggregationType": "sum",
            "eventKey": "event-key-123abc",
            "_links": {
              "self": {
                "href": "/api/v2/metrics/my-project/my-metric",
                "type": "application/json"
              }
            },
            "nameInGroup": "Step 1",
            "randomizationUnits": [
              "user"
            ]
          }
        ]
      },
      "primarySingleMetric": {
        "key": "metric-key-123abc",
        "_versionId": "version-id-123abc",
        "name": "Example metric",
        "kind": "custom",
        "isNumeric": true,
        "unitAggregationType": "sum",
        "eventKey": "event-key-123abc",
        "_links": {
          "self": {
            "href": "/api/v2/metrics/my-project/my-metric",
            "type": "application/json"
          }
        }
      },
      "primaryFunnel": {
        "key": "metric-group-key-123abc",
        "name": "My metric group",
        "kind": "funnel",
        "_links": {
          "parent": {
            "href": "/api/v2/projects/my-project",
            "type": "application/json"
          },
          "self": {
            "href": "/api/v2/projects/my-project/metric-groups/my-metric-group",
            "type": "application/json"
          }
        },
        "metrics": [
          {
            "key": "metric-key-123abc",
            "_versionId": "version-id-123abc",
            "name": "Example metric",
            "kind": "custom",
            "isNumeric": true,
            "unitAggregationType": "sum",
            "eventKey": "event-key-123abc",
            "_links": {
              "self": {
                "href": "/api/v2/metrics/my-project/my-metric",
                "type": "application/json"
              }
            },
            "nameInGroup": "Step 1",
            "randomizationUnits": [
              "user"
            ]
          }
        ]
      },
      "randomizationUnit": "user",
      "treatments": [
        {
          "_id": "122c9f3e-da26-4321-ba68-e0fc02eced58",
          "name": "Treatment 1",
          "allocationPercent": "10",
          "baseline": true
        }
      ],
      "secondaryMetrics": [
        {
          "key": "metric-key-123abc",
          "_versionId": "version-id-123abc",
          "name": "Example metric",
          "kind": "custom",
          "isNumeric": true,
          "unitAggregationType": "sum",
          "eventKey": "event-key-123abc",
          "_links": {
            "self": {
              "href": "/api/v2/metrics/my-project/my-metric",
              "type": "application/json"
            }
          }
        }
      ],
      "metrics": [
        {
          "key": "metric-key-123abc",
          "name": "My metric",
          "kind": "custom",
          "isNumeric": true,
          "eventKey": "event-key-123abc",
          "_links": {
            "self": {
              "href": "/api/v2/metrics/my-project/my-metric",
              "type": "application/json"
            }
          },
          "metrics": [
            {
              "key": "metric-key-123abc",
              "_versionId": "version-id-123abc",
              "name": "Example metric",
              "kind": "custom",
              "isNumeric": true,
              "unitAggregationType": "sum",
              "eventKey": "event-key-123abc",
              "_links": {
                "self": {
                  "href": "/api/v2/metrics/my-project/my-metric",
                  "type": "application/json"
                }
              },
              "nameInGroup": "Step 1",
              "randomizationUnits": [
                "user"
              ]
            }
          ]
        }
      ],
      "layerSnapshot": {
        "key": "checkout-flow",
        "name": "Checkout Flow",
        "reservationPercent": 10,
        "otherReservationPercent": 70
      }
    },
    "draftIteration": {
      "_id": "12ab3c45de678910fgh12345",
      "hypothesis": "The new button placement will increase conversion",
      "status": "running",
      "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58",
      "winningReason": "We ran this iteration for two weeks and the winning variation was clear",
      "canReshuffleTraffic": true,
      "reallocationFrequencyMillis": 3600000,
      "primaryMetric": {
        "key": "metric-key-123abc",
        "name": "My metric",
        "kind": "custom",
        "isNumeric": true,
        "eventKey": "event-key-123abc",
        "_links": {
          "self": {
            "href": "/api/v2/metrics/my-project/my-metric",
            "type": "application/json"
          }
        },
        "metrics": [
          {
            "key": "metric-key-123abc",
            "_versionId": "version-id-123abc",
            "name": "Example metric",
            "kind": "custom",
            "isNumeric": true,
            "unitAggregationType": "sum",
            "eventKey": "event-key-123abc",
            "_links": {
              "self": {
                "href": "/api/v2/metrics/my-project/my-metric",
                "type": "application/json"
              }
            },
            "nameInGroup": "Step 1",
            "randomizationUnits": [
              "user"
            ]
          }
        ]
      },
      "primarySingleMetric": {
        "key": "metric-key-123abc",
        "_versionId": "version-id-123abc",
        "name": "Example metric",
        "kind": "custom",
        "isNumeric": true,
        "unitAggregationType": "sum",
        "eventKey": "event-key-123abc",
        "_links": {
          "self": {
            "href": "/api/v2/metrics/my-project/my-metric",
            "type": "application/json"
          }
        }
      },
      "primaryFunnel": {
        "key": "metric-group-key-123abc",
        "name": "My metric group",
        "kind": "funnel",
        "_links": {
          "parent": {
            "href": "/api/v2/projects/my-project",
            "type": "application/json"
          },
          "self": {
            "href": "/api/v2/projects/my-project/metric-groups/my-metric-group",
            "type": "application/json"
          }
        },
        "metrics": [
          {
            "key": "metric-key-123abc",
            "_versionId": "version-id-123abc",
            "name": "Example metric",
            "kind": "custom",
            "isNumeric": true,
            "unitAggregationType": "sum",
            "eventKey": "event-key-123abc",
            "_links": {
              "self": {
                "href": "/api/v2/metrics/my-project/my-metric",
                "type": "application/json"
              }
            },
            "nameInGroup": "Step 1",
            "randomizationUnits": [
              "user"
            ]
          }
        ]
      },
      "randomizationUnit": "user",
      "treatments": [
        {
          "_id": "122c9f3e-da26-4321-ba68-e0fc02eced58",
          "name": "Treatment 1",
          "allocationPercent": "10",
          "baseline": true
        }
      ],
      "secondaryMetrics": [
        {
          "key": "metric-key-123abc",
          "_versionId": "version-id-123abc",
          "name": "Example metric",
          "kind": "custom",
          "isNumeric": true,
          "unitAggregationType": "sum",
          "eventKey": "event-key-123abc",
          "_links": {
            "self": {
              "href": "/api/v2/metrics/my-project/my-metric",
              "type": "application/json"
            }
          }
        }
      ],
      "metrics": [
        {
          "key": "metric-key-123abc",
          "name": "My metric",
          "kind": "custom",
          "isNumeric": true,
          "eventKey": "event-key-123abc",
          "_links": {
            "self": {
              "href": "/api/v2/metrics/my-project/my-metric",
              "type": "application/json"
            }
          },
          "metrics": [
            {
              "key": "metric-key-123abc",
              "_versionId": "version-id-123abc",
              "name": "Example metric",
              "kind": "custom",
              "isNumeric": true,
              "unitAggregationType": "sum",
              "eventKey": "event-key-123abc",
              "_links": {
                "self": {
                  "href": "/api/v2/metrics/my-project/my-metric",
                  "type": "application/json"
                }
              },
              "nameInGroup": "Step 1",
              "randomizationUnits": [
                "user"
              ]
            }
          ]
        }
      ],
      "layerSnapshot": {
        "key": "checkout-flow",
        "name": "Checkout Flow",
        "reservationPercent": 10,
        "otherReservationPercent": 70
      }
    },
    "previousIterations": [
      {
        "_id": "12ab3c45de678910fgh12345",
        "hypothesis": "The new button placement will increase conversion",
        "status": "running",
        "winningTreatmentId": "122c9f3e-da26-4321-ba68-e0fc02eced58",
        "winningReason": "We ran this iteration for two weeks and the winning variation was clear",
        "canReshuffleTraffic": true,
        "reallocationFrequencyMillis": 3600000,
        "primaryMetric": {
          "key": "metric-key-123abc",
          "name": "My metric",
          "kind": "custom",
          "isNumeric": true,
          "eventKey": "event-key-123abc",
          "_links": {
            "self": {
              "href": "/api/v2/metrics/my-project/my-metric",
              "type": "application/json"
            }
          },
          "metrics": [
            {
              "key": "metric-key-123abc",
              "_versionId": "version-id-123abc",
              "name": "Example metric",
              "kind": "custom",
              "isNumeric": true,
              "unitAggregationType": "sum",
              "eventKey": "event-key-123abc",
              "_links": {
                "self": {
                  "href": "/api/v2/metrics/my-project/my-metric",
                  "type": "application/json"
                }
              },
              "nameInGroup": "Step 1",
              "randomizationUnits": [
                "user"
              ]
            }
          ]
        },
        "primarySingleMetric": {
          "key": "metric-key-123abc",
          "_versionId": "version-id-123abc",
          "name": "Example metric",
          "kind": "custom",
          "isNumeric": true,
          "unitAggregationType": "sum",
          "eventKey": "event-key-123abc",
          "_links": {
            "self": {
              "href": "/api/v2/metrics/my-project/my-metric",
              "type": "application/json"
            }
          }
        },
        "primaryFunnel": {
          "key": "metric-group-key-123abc",
          "name": "My metric group",
          "kind": "funnel",
          "_links": {
            "parent": {
              "href": "/api/v2/projects/my-project",
              "type": "application/json"
            },
            "self": {
              "href": "/api/v2/projects/my-project/metric-groups/my-metric-group",
              "type": "application/json"
            }
          },
          "metrics": [
            {
              "key": "metric-key-123abc",
              "_versionId": "version-id-123abc",
              "name": "Example metric",
              "kind": "custom",
              "isNumeric": true,
              "unitAggregationType": "sum",
              "eventKey": "event-key-123abc",
              "_links": {
                "self": {
                  "href": "/api/v2/metrics/my-project/my-metric",
                  "type": "application/json"
                }
              },
              "nameInGroup": "Step 1",
              "randomizationUnits": [
                "user"
              ]
            }
          ]
        },
        "randomizationUnit": "user",
        "treatments": [
          {
            "_id": "122c9f3e-da26-4321-ba68-e0fc02eced58",
            "name": "Treatment 1",
            "allocationPercent": "10",
            "baseline": true
          }
        ],
        "secondaryMetrics": [
          {
            "key": "metric-key-123abc",
            "_versionId": "version-id-123abc",
            "name": "Example metric",
            "kind": "custom",
            "isNumeric": true,
            "unitAggregationType": "sum",
            "eventKey": "event-key-123abc",
            "_links": {
              "self": {
                "href": "/api/v2/metrics/my-project/my-metric",
                "type": "application/json"
              }
            }
          }
        ],
        "metrics": [
          {
            "key": "metric-key-123abc",
            "name": "My metric",
            "kind": "custom",
            "isNumeric": true,
            "eventKey": "event-key-123abc",
            "_links": {
              "self": {
                "href": "/api/v2/metrics/my-project/my-metric",
                "type": "application/json"
              }
            },
            "metrics": [
              {
                "key": "metric-key-123abc",
                "_versionId": "version-id-123abc",
                "name": "Example metric",
                "kind": "custom",
                "isNumeric": true,
                "unitAggregationType": "sum",
                "eventKey": "event-key-123abc",
                "_links": {
                  "self": {
                    "href": "/api/v2/metrics/my-project/my-metric",
                    "type": "application/json"
                  }
                },
                "nameInGroup": "Step 1",
                "randomizationUnits": [
                  "user"
                ]
              }
            ]
          }
        ],
        "layerSnapshot": {
          "key": "checkout-flow",
          "name": "Checkout Flow",
          "reservationPercent": 10,
          "otherReservationPercent": 70
        }
      }
    ]
  }
}

Changes

Changed in 2 of the 5 revisions of this API.1828

  • 69c5c9aafe78928See the full diff
    • added the new not_started enum value to the baseExperiment/currentIteration/status response property for the response status 200

      response-property-enum-value-added

    • added the new not_started enum value to the baseExperiment/draftIteration/status response property for the response status 200

      response-property-enum-value-added

    • added the new not_started enum value to the baseExperiment/previousIterations/items/status response property for the response status 200

      response-property-enum-value-added

    • added the new running enum value to the baseExperiment/currentIteration/status response property for the response status 200

      response-property-enum-value-added

    • added the new running enum value to the baseExperiment/draftIteration/status response property for the response status 200

      response-property-enum-value-added

    • added the new running enum value to the baseExperiment/previousIterations/items/status response property for the response status 200

      response-property-enum-value-added

    • added the new stopped enum value to the baseExperiment/currentIteration/status response property for the response status 200

      response-property-enum-value-added

    • added the new stopped enum value to the baseExperiment/draftIteration/status response property for the response status 200

      response-property-enum-value-added

    • added the new stopped enum value to the baseExperiment/previousIterations/items/status response property for the response status 200

      response-property-enum-value-added

    • added the optional property baseExperiment/currentIteration/metrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/currentIteration/metrics/items/metrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/currentIteration/primaryFunnel/metrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/currentIteration/primaryMetric/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/currentIteration/primaryMetric/metrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/currentIteration/primarySingleMetric/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/currentIteration/reallocationFrequencyMillis to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/currentIteration/secondaryMetrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/currentIteration/version to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/draftIteration/metrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/draftIteration/metrics/items/metrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/draftIteration/primaryFunnel/metrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/draftIteration/primaryMetric/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/draftIteration/primaryMetric/metrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/draftIteration/primarySingleMetric/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/draftIteration/reallocationFrequencyMillis to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/draftIteration/secondaryMetrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/draftIteration/version to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/previousIterations/items/metrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/previousIterations/items/metrics/items/metrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/previousIterations/items/primaryFunnel/metrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/previousIterations/items/primaryMetric/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/previousIterations/items/primaryMetric/metrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/previousIterations/items/primarySingleMetric/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/previousIterations/items/reallocationFrequencyMillis to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/previousIterations/items/secondaryMetrics/items/eventKey to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/previousIterations/items/version to the response with the 200 status

      response-optional-property-added

    • added the optional property baseExperiment/tags to the response with the 200 status

      response-optional-property-added

    This revision also has 13 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • added the new guardrail enum value to the baseExperiment/currentIteration/metrics/items/kind response property for the response status 200

      response-property-enum-value-added

    • added the new guardrail enum value to the baseExperiment/currentIteration/primaryFunnel/kind response property for the response status 200

      response-property-enum-value-added

    • added the new guardrail enum value to the baseExperiment/currentIteration/primaryMetric/kind response property for the response status 200

      response-property-enum-value-added

    • added the new guardrail enum value to the baseExperiment/draftIteration/metrics/items/kind response property for the response status 200

      response-property-enum-value-added

    • added the new guardrail enum value to the baseExperiment/draftIteration/primaryFunnel/kind response property for the response status 200

      response-property-enum-value-added

    • added the new guardrail enum value to the baseExperiment/draftIteration/primaryMetric/kind response property for the response status 200

      response-property-enum-value-added

    • added the new guardrail enum value to the baseExperiment/previousIterations/items/metrics/items/kind response property for the response status 200

      response-property-enum-value-added

    • added the new guardrail enum value to the baseExperiment/previousIterations/items/primaryFunnel/kind response property for the response status 200

      response-property-enum-value-added

    • added the new guardrail enum value to the baseExperiment/previousIterations/items/primaryMetric/kind response property for the response status 200

      response-property-enum-value-added