provider experiment_holdouts PUT /api/projects/{project_id}/experiment_holdouts/{id}/
@utdk/posthog /api/projects/{project_id}/experiment_holdouts/{id}/
experiment_holdouts_update
id path required
A unique integer value identifying this experiment holdout.
integer
project_id path required
Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.
string

Try it

Authentication
Configure credentials for PostHog API
experimentHoldoutsUpdate
PUT/api/projects/{project_id}/experiment_holdouts/{id}/

Parameters

required

A unique integer value identifying this experiment holdout.

required

Project ID of the project you're trying to access. To find the ID of the project, make a call to /api/projects/.

Input

required
required

Human-readable name for the holdout group.

Optional description of what this holdout reserves and why.

Non-empty list of release-condition groups defining the held-out population, using the same shape as feature-flag release conditions. Each element's `rollout_percentage` (0–100, may be fractional) is the **exclusion** percentage — the share of users held back from all experiments that reference this holdout. `properties` optionally narrows the group by person/group properties. Do not set `variant`: the server normalizes it to `holdout-{id}`. Note that only the first element's `rollout_percentage` is embedded into each linked experiment's feature flag, and this population is shared across every experiment using the holdout.

required
required
required
required

The effective access level the user has for this object

Configure credentials above to enable sending.

Code snippet
Updates live as you fill in the form above.

TypeScript

import posthog from '@utdk/posthog';

await posthog.experimentHoldoutsUpdate()