Create Experiment Review

posthttps://statsigapi.net/console/v1/experiments/{id}/reviews

Authorizations

STATSIG-API-KEYstringrequired

apiKey (header)

Path parameters

idstringrequired

Body

application/json
typestringrequired

The kind of experiment change the review proposes.

Allowed values:startstoppauserestartabandonarchivedeletemake_decisionrolloutschedule_rolloutreallocatechange_enabled_groupsunarchiveupdate_ownersupdate_teamupdate_settingsupdate_overridesupdate_target_applicationsupdate_allowed_reviewersupdate_default_impact_multiplierscheduled_startscheduled_start_editdisable_reviews_locally
descriptionstring

Human-readable description of the proposed change. Optional; recorded empty when omitted (e.g. update_owners, mirroring the console owner-edit flow, which collects no description).

Constraints:max length: 2000
reviewer_idsstring[]

User IDs to request review from.

Default:[]
reviewer_group_idsstring[]

Reviewer group IDs to request review from.

Default:[]
reasonstring

Optional reason recorded with the change, applied when committed (e.g. stop / pause / abandon / decision reason).

Constraints:max length: 2000
winning_group_idstring

For make_decision: the group to ship. Required.

remove_targetingboolean

For make_decision: drop targeting on ship (default false).

remove_overridesboolean

For make_decision: drop overrides on ship (default false).

start_datestring

For start: optional scheduled start date.

group_idstring

For rollout / schedule_rollout: the group to roll out. Required.

rollout_percentagenumber

For rollout: the pass percentage to roll the group out to. Required.

Constraints:format: doublemin: 0max: 100
clear_phasesboolean

For rollout: clear any scheduled rollout phases (default false).

rollout_phasesobject[]

For schedule_rollout: the ordered rollout phases to schedule. Required.

Show child attributes
percentagenumberrequired

Pass percentage for this phase (0–100).

Constraints:min: 0max: 100
timenumber

Absolute start time of the phase (epoch ms).

time_stringstring

Human-readable start time of the phase.

is_completeboolean

Whether this phase is already complete (default false).

phase_duration_msnumber

Duration of the phase, used for progressive rollouts.

enabled_group_namesstring[]

For change_enabled_groups: group names to enable.

disabled_group_namesstring[]

For change_enabled_groups: group names to disable.

ownersobject[]

For update_owners: the replacement owner set. Required.

Show child attributes
owner_idstringrequired

ID of the owner (user ID or SDK key ID).

Constraints:min length: 1
owner_typestring

Kind of owner. Defaults to user.

Allowed values:usersdk_key
team_idstring

For update_team: the team to assign, or null to clear it.

Constraints:nullablemin length: 1
default_impact_multipliernumber

For update_default_impact_multiplier: the new multiplier. Required.

Constraints:format: double
target_app_idsstring[]

For update_target_applications: the full set of target application IDs. Required.

allowed_reviewer_user_idsstring[]

For update_allowed_reviewers: the full set of allowed reviewer user IDs.

allowed_reviewer_group_idsstring[]

For update_allowed_reviewers: the full set of allowed reviewer group IDs.

start_timeinteger

For scheduled_start: epoch-ms time to schedule the start. Required.

Constraints:format: int64
new_timeinteger

For scheduled_start_edit: epoch-ms time to reschedule the start to. Required.

Constraints:format: int64
overridesobject[]

For update_overrides: the full set of gate/segment overrides. Omit to preserve the experiment’s current overrides; send [] to clear them.

Show child attributes
typestringrequired
Allowed values:gatesegment
group_idstringrequired
namestringrequired
environmentstring
Constraints:nullable
id_overridesobject[]

For update_overrides: the full set of ID overrides. Omit to preserve the experiment’s current ID overrides; send [] to clear them.

Show child attributes
idsstring[]required
group_idstringrequired
environmentstring
Constraints:nullable
unit_typestring
Constraints:nullable
allow_overrides_in_pulseboolean

For update_overrides: whether overridden units are included in Pulse. Omit to preserve the current setting.

settingsobject

For update_settings: the full experiment settings payload, matching the PATCH /console/v1/experiments/:id body. Required for update_settings. Fields omitted from the payload fall back to the experiment’s current values.

Show child attributes
namestring

The display name of the experiment

Constraints:min length: 3max length: 100pattern: ^[a-zA-Z0-9_\- ]*$
descriptionstringrequired

A helpful summary of what this experiment does

Constraints:max length: 1000
idTypestringrequired

The type of ID which the experiment is based on

secondaryIDTypestring

The secondary ID type for the experiment used in WHN for ID resolution

Constraints:nullable
identifierMappingModestring

The identifier mapping mode for the experiment used in WHN for ID resolution

Allowed values:strictOneToOnefirstTouchOneToManylastTouchOneToMany
identityResolutionSourcestring

The identity resolution entity property source for the experiment used in WHN for ID resolution

Constraints:nullable
hypothesisstringrequired

A statement that will be tested by this experiment

linksobject[]

Links to relevant documentation or resources

urlstringrequired

The URL of the link

Constraints:format: uri
titlestring

The title of the link

externalEventsobject[]
namestringrequired
timestampnumberrequired
groupsobject[]required

The test groups for your experiment

namestringrequired
idstring
Constraints:nullable
sizenumberrequired
Constraints:min: 0max: 100
parameterValuesobjectrequired
disabledboolean
descriptionstring
foreignGroupIDstring
highlightedboolean

Marks this experiment group as highlighted in analysis views. Highlighted groups are prioritized (shown first) and can be used to filter.

controlGroupIDstring

Optional control group ID

allocationnumberrequired

Percent of layer allocated to this experiment

Constraints:format: doublemin: 0max: 100
userBucketsnumber[]
primaryMetricTagsstring[]

Primary metric tags for the experiment

secondaryMetricTagsstring[]

Secondary metric tags for the experiment

primaryMetricsobject[]

Main metrics needed to evaluate your hypothesis

namestringrequired

The metric name.

typestringrequired

The metric type.

directionstring

The expected direction for one-sided testing (a feature to only measure metric movements in a single direction)

Allowed values:increasedecrease
hypothesizedValuenumber

The comparison value for the one-sample testing (a feature to use a fixed baseline as the control value)

secondaryMetricsobject[]

Additional metrics to monitor that might impact the analysis or final decision of the experiment

namestringrequired

The metric name.

typestringrequired

The metric type.

directionstring

The expected direction for one-sided testing (a feature to only measure metric movements in a single direction)

Allowed values:increasedecrease
hypothesizedValuenumber

The comparison value for the one-sample testing (a feature to use a fixed baseline as the control value)

otherMetricsobject[]

Additional metrics you want to investigate or learn from. The usual corrections applied to Primary and Secondary metrics are not applied to these.

namestringrequired

The metric name.

typestringrequired

The metric type.

directionstring

The expected direction for one-sided testing (a feature to only measure metric movements in a single direction)

Allowed values:increasedecrease
hypothesizedValuenumber

The comparison value for the one-sample testing (a feature to use a fixed baseline as the control value)

targetAppsoneOf

Target apps assigned to this experiment

Constraints:stringstring[]
tagsstring[]

Tags associated with the experiment

durationinteger

How long the experiment is expected to last in days

Constraints:format: int64min: 1
targetExposuresinteger

Target exposures for the experiment

Constraints:format: int64min: 1
targetingGateIDstringrequired

Restrict your experiment to users passing the selected feature gate

Constraints:nullable
sequentialTestingboolean

Apply sequential testing?

bonferroniCorrectionbooleanrequired

Is Bonferroni correction applied per variant?

bonferroniCorrectionPerMetricboolean

Is Bonferroni correction applied per metric?

benjaminiHochbergPerVariantboolean

Is Benjamini-Hochberg procedure applied per variant?

benjaminiHochbergPerMetricboolean

Is Benjamini-Hochberg procedure applied per metric?

benjaminiPrimaryMetricsOnlyboolean

Is Benjamini-Hochberg procedure applied for primary metrics only?

defaultConfidenceIntervalstringrequired

Default error margin used for results

Allowed values:8090959899
defaultRollupWindowinteger

Default rollup window in days for experiment results. Use -1 for cumulative. Only -1, 1, and 7 allowed for cloud experiments.

Constraints:format: int64
defaultChanceToBeatThresholdnumber

Default chance-to-beat threshold used for Bayesian results.

Constraints:format: double
bayesianPriorsobject[]

Bayesian prior settings by metric.

metricobjectrequired
namestringrequired
typestringrequired
priorMeannumberrequired
priorStdDevnumberrequired
manualQualityScoresobject[]

Up to 10 manually set quality scores for an experiment. The scores and weights will be added to the existing weights and scores, and then weights will be renormalized to 100. This can be set via the Statsig Console API. If targeting a default check, the weight of the check will be updated, but not the status or description. A default score can be removed by setting the weight to 0. The default score identifiers are one of: HYPOTHESIS_LENGTH, BALANCED_EXPOSURE, PRIMARY_METRICS_LENGTH, COMPARISON_CORRECTION, GUARDRAIL_METRIC_TAGS, SUFFICIENT_SAMPLE, POWER_ANALYSIS, SEQUENTIAL_TESTING

criteriaNameoneOfrequired
Constraints:stringstring
statusstringrequired
Allowed values:PASSEDFAILEDWARNING
criteriaDescriptionstringrequired
scorenumberrequired
weightnumberrequired
statusstringrequired

The current status of the experiment

Allowed values:activesetupdecision_madeabandonedarchivedexperiment_stoppedassignment_stopped
launchedGroupIDstring

ID of the launched group, null otherwise

Constraints:nullable
assignmentSourceNamestring

Source name of the assignment

assignmentSourceExperimentNamestring

Name of the source experiment for assignment

creatorIDstring

The Statsig ID of the creator of this experiment

Constraints:nullable
creatorEmailstring

The email of the creator of this experiment

Constraints:nullable
isAnalysisOnlyboolean

For Warehouse Native

Constraints:nullable
teamstring

The team name associated with the experiment, Enterprise only.

Constraints:nullable
teamIDstring

The team ID associated with the experiment, Enterprise only.

Constraints:nullable
allocationDurationinteger

Warehouse Native Only - Allocation duration in days

Constraints:format: int64nullablemin: 1
cohortedAnalysisDurationinteger

Warehouse Native Only - Cohorted analysis duration in days

Constraints:format: int64min: 1
cohortedMetricsMatureAfterEndboolean

Warehouse Native Only - Allow cohort metrics to mature after experiment end

cohortWaitUntilEndToIncludeboolean

Warehouse Native Only - Whether to filter to units whose experiment cohort analysis duration is complete, if cohortedAnalysisDuration exists

fixedAnalysisDurationinteger

Fixed analysis duration in days

Constraints:format: int64min: 1
scheduledReloadHourinteger

Warehouse Native only - UTC hour at which to run scheduled pulse loads

Constraints:format: int64nullablemin: 0max: 23
scheduledReloadTypestring

Warehouse Native only - reload type for scheduled reloads

Allowed values:fullincremental
scheduledReloadDaysinteger[]

Warehouse Native only - days on which to run scheduled reloads from 0 to 6, 0 meaning Sunday. Null to run reloads on all days.

Constraints:nullable
turboModeboolean

Warehouse Native only - whether to run scheduled reloads with Turbo mode.

autoLoadToplineImpactboolean

Warehouse Native only - whether to automatically run topline and projected launch impact calculations when reloading experiments.

analysisEndTimestring

Warehouse Native only - end time for analysis only experiments

assignmentSourceFiltersobject[]

Array of criteria for filtering assignment sources.

columnstring

Column to filter on.

conditionstringrequired
Allowed values:innot_in=><>=<=is_nullnon_nullcontainsnot_containssql_filterstarts_withends_withafter_exposurebefore_exposureis_trueis_false
valuesstring[]

Optional array of values for the criterion to match against.

analyticsTypestring

The mode of analysis for the experiment, e.g frequentist, bayesian, sprt

Allowed values:frequentistbayesiansprt
defaultSPRTPowerParamnumber

SPRT power parameter percentage used as the default for experiment analysis.

Constraints:format: double
defaultSPRTMDEnumber

Default MDE value for every metric if one isn't provided. Only used in manual mode.

Constraints:format: double
sprtBaselineModestring

In manual mode, mde/mean/stdDev must be provided for every metric in the experiment. In in_experiment_control, only the mde is needed for every metric, or the defaultSPRTMDE field must be passed.

Allowed values:manualin_experiment_control
sprtMDESettingsobject[]

The SPRT values for use in the experiment.

metricKeystringrequired
groupSettingsobject[]required
groupKeystringrequired
mdenumberrequired
meannumber
stdDevnumber
isSidecarboolean

Whether this is a Statsig Sidecar experiment.

decisionReasonstring

Experiment notes reported after experiment completes

preComputedUserDimensionsobject[]

User dimensions that will be computed for every metric in WHN

propertySourcestring
namestringrequired
cureCovariatesobject[]

CURE Covariates to use in this experiment

namestringrequired
typestringrequired
stratifiedSamplingobject

The stratified sampling settings for the experiment

Constraints:nullable
statusstringrequired
Allowed values:pendingsuccesserror
metricobject
namestringrequired
typestring
startDatestringrequired
endDatestringrequired
entityPropertySourceobject
propertySourceNamestringrequired
columnstringrequired
csvobject
originalstringrequired
identifierstringrequired
useStratifiedSaltboolean

Whether successful stratified sampling is currently used for experiment assignment.

useUnitsboolean

Whether stratified sampling was configured to use allocated units directly.

deltaReductionnumber

Observed reduction in delta after running stratified sampling.

Constraints:format: double
spreadReductionnumber

Observed reduction in spread after running stratified sampling.

Constraints:format: double
enabledNonProdEnvironmentsstring[]

Response

application/json
201· The created experiment review.
messagestringrequired

A simple string explaining the result of the operation.

dataobjectrequired
Show child attributes
review_idstringrequired

Unique ID of the review.

statusstringrequired

Lifecycle status of the review.

Allowed values:pendingacceptedrejectedcommittedchanges_requestedpending_webhook_validationfailed_webhook_validationapproved_webhook_validation
typestringrequired

Kind of change the review proposes.

Allowed values:startstoppauserestartabandonarchivedeletemake_decisionupdate_settingsupdate_overridesupdate_target_applicationsupdate_allowed_reviewersupdate_default_impact_multiplierscheduled_startscheduled_start_editdisable_reviews_locallyrolloutschedule_rolloutreallocatechange_enabled_groupsunarchiveupdate_ownersupdate_team
authorobjectrequired

The user who created the review.

idstringrequired
emailstringrequired
Constraints:nullable
reviewersobject[]required

Requested reviewers (users and groups).

idstringrequired
kindstringrequired
Allowed values:usergroup
descriptionstringrequired

Human-readable description of the proposed change.

created_atstringrequired

ISO-8601 timestamp of when the review was created.

Was this helpful?