Skip to main content
POST
/
console
/
v1
/
experiments
/
{id}
Fully Update Experiment
curl --request POST \
  --url https://statsigapi.net/console/v1/experiments/{id} \
  --header 'Content-Type: application/json' \
  --header 'STATSIG-API-KEY: <api-key>' \
  --data '{
  "name": "<string>",
  "description": "<string>",
  "idType": "<string>",
  "secondaryIDType": "<string>",
  "identifierMappingMode": "strictOneToOne",
  "identityResolutionSource": "<string>",
  "hypothesis": "<string>",
  "links": [
    {
      "url": "<string>",
      "title": "<string>"
    }
  ],
  "groups": [
    {
      "name": "<string>",
      "id": "<string>",
      "size": 50,
      "parameterValues": {},
      "disabled": true,
      "description": "<string>",
      "foreignGroupID": "<string>"
    }
  ],
  "controlGroupID": "<string>",
  "allocation": 50,
  "primaryMetricTags": [
    "<string>"
  ],
  "secondaryMetricTags": [
    "<string>"
  ],
  "primaryMetrics": [
    {
      "name": "<string>",
      "type": "<string>",
      "direction": "increase",
      "hypothesizedValue": 123
    }
  ],
  "secondaryMetrics": [
    {
      "name": "<string>",
      "type": "<string>",
      "direction": "increase",
      "hypothesizedValue": 123
    }
  ],
  "otherMetrics": [
    {
      "name": "<string>",
      "type": "<string>",
      "direction": "increase",
      "hypothesizedValue": 123
    }
  ],
  "targetApps": "<string>",
  "tags": [
    "<string>"
  ],
  "duration": 2,
  "targetExposures": 2,
  "targetingGateID": "<string>",
  "sequentialTesting": true,
  "bonferroniCorrection": true,
  "bonferroniCorrectionPerMetric": true,
  "benjaminiHochbergPerVariant": true,
  "benjaminiHochbergPerMetric": true,
  "benjaminiPrimaryMetricsOnly": true,
  "defaultConfidenceInterval": "80",
  "manualQualityScores": [
    {
      "criteriaName": "HYPOTHESIS_LENGTH",
      "status": "PASSED",
      "criteriaDescription": "<string>",
      "score": 123,
      "weight": 123
    }
  ],
  "status": "active",
  "launchedGroupID": "<string>",
  "assignmentSourceName": "<string>",
  "assignmentSourceExperimentName": "<string>",
  "creatorID": "<string>",
  "creatorEmail": "<string>",
  "isAnalysisOnly": true,
  "team": "<string>",
  "teamID": "<string>",
  "allocationDuration": 2,
  "cohortedAnalysisDuration": 2,
  "cohortedMetricsMatureAfterEnd": true,
  "cohortWaitUntilEndToInclude": true,
  "fixedAnalysisDuration": 2,
  "scheduledReloadHour": 11,
  "scheduledReloadType": "full",
  "analysisEndTime": "<string>",
  "assignmentSourceFilters": [
    {
      "column": "<string>",
      "condition": "in",
      "values": [
        "<string>"
      ]
    }
  ],
  "analyticsType": "frequentist",
  "isSidecar": true,
  "decisionReason": "<string>",
  "stratifiedSampling": {
    "status": "pending",
    "metric": {
      "name": "<string>",
      "startDate": "<string>",
      "endDate": "<string>"
    },
    "entityPropertySource": {
      "propertySourceName": "<string>",
      "column": "<string>"
    },
    "csv": {
      "original": "<string>",
      "identifier": "<string>"
    }
  }
}'
{
  "message": "string",
  "data": {
    "id": "a_experiment",
    "description": "a helpful summary of what this experiment does",
    "lastModifierName": "CONSOLE API",
    "lastModifierID": "f0JAV9dd7KF0sUbi1DHWB",
    "idType": "userID",
    "status": "setup",
    "layerID": "layer1",
    "hypothesis": "Does 1 or 0 work better?",
    "primaryMetrics": [
      {
        "name": "l14",
        "type": "user"
      }
    ],
    "primaryMetricTags": [],
    "secondaryMetrics": [
      {
        "name": "mau_28d",
        "type": "user"
      }
    ],
    "secondaryMetricTags": [],
    "groups": [
      {
        "name": "group1",
        "size": 50,
        "parameterValues": {
          "key": 1
        }
      },
      {
        "name": "gruop2",
        "size": 50,
        "parameterValues": {
          "key": 0
        }
      }
    ],
    "allocation": 50.46,
    "duration": 14,
    "targetingGateID": "a_gate",
    "defaultConfidenceInterval": "95",
    "bonferroniCorrection": false,
    "tags": []
  }
}

Authorizations

STATSIG-API-KEY
string
header
required

Headers

x-respect-review-settings
string

Optional header to respect review settings for mutation endpoints.

Path Parameters

id
string
required

id

Body

application/json
description
string
required

A helpful summary of what this experiment does

Maximum length: 1000
idType
string
required

The type of ID which the experiment is based on

hypothesis
string
required

A statement that will be tested by this experiment

groups
object[]
required

The test groups for your experiment

allocation
number
required

Percent of layer allocated to this experiment

Required range: 0 <= x <= 100
targetingGateID
string | null
required

Restrict your experiment to users passing the selected feature gate

bonferroniCorrection
boolean
required

Is Bonferroni correction applied per variant?

defaultConfidenceInterval
enum<string>
required

Default error margin used for results

Available options:
80,
90,
95,
98,
99
status
enum<string>
required

The current status of the experiment

Available options:
active,
setup,
decision_made,
abandoned,
archived,
experiment_stopped,
assignment_stopped
name
string

The display name of the experiment

Required string length: 3 - 100
secondaryIDType
string | null

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

identifierMappingMode
enum<string>

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

Available options:
strictOneToOne,
firstTouchOneToMany,
lastTouchOneToMany
identityResolutionSource
string | null

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

Links to relevant documentation or resources

controlGroupID
string

Optional control group ID

primaryMetricTags
string[]

Primary metric tags for the experiment

secondaryMetricTags
string[]

Secondary metric tags for the experiment

primaryMetrics
object[]

Main metrics needed to evaluate your hypothesis

secondaryMetrics
object[]

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

otherMetrics
object[]

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

targetApps

Target apps assigned to this experiment

tags
string[]

Tags associated with the experiment

duration
integer

How long the experiment is expected to last in days

Required range: x > 1
targetExposures
integer

Target exposures for the experiment

Required range: x > 1
sequentialTesting
boolean

Apply sequential testing?

bonferroniCorrectionPerMetric
boolean

Is Bonferroni correction applied per metric?

benjaminiHochbergPerVariant
boolean

Is Benjamini-Hochberg procedure applied per variant?

benjaminiHochbergPerMetric
boolean

Is Benjamini-Hochberg procedure applied per metric?

benjaminiPrimaryMetricsOnly
boolean

Is Benjamini-Hochberg procedure applied for primary metrics only?

manualQualityScores
object[]

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

launchedGroupID
string | null

ID of the launched group, null otherwise

assignmentSourceName
string

Source name of the assignment

assignmentSourceExperimentName
string

Name of the source experiment for assignment

creatorID
string | null

The Statsig ID of the creator of this experiment

creatorEmail
string | null

The email of the creator of this experiment

isAnalysisOnly
boolean | null

For Warehouse Native

team
string | null

The team name associated with the experiment, Enterprise only.

teamID
string | null

The team ID associated with the experiment, Enterprise only.

allocationDuration
integer | null

Warehouse Native Only - Allocation duration in days

Required range: x > 1
cohortedAnalysisDuration
integer

Warehouse Native Only - Cohorted analysis duration in days

Required range: x > 1
cohortedMetricsMatureAfterEnd
boolean

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

cohortWaitUntilEndToInclude
boolean

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

fixedAnalysisDuration
integer

Fixed analysis duration in days

Required range: x > 1
scheduledReloadHour
integer | null

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

Required range: 0 <= x <= 23
scheduledReloadType
enum<string>

Warehouse Native only - reload type for scheduled reloads

Available options:
full,
incremental
analysisEndTime
string

Warehouse Native only - end time for analysis only experiments

assignmentSourceFilters
object[]

Array of criteria for filtering assignment sources.

analyticsType
enum<string>

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

Available options:
frequentist,
bayesian,
sprt
isSidecar
boolean

Whether this is a Statsig Sidecar experiment.

decisionReason
string

Experiment notes reported after experiment completes

stratifiedSampling
object | null

The stratified sampling settings for the experiment

Response

Fully Update Experiment Success

message
string
required

A simple string explaining the result of the operation.

data
object
required

A single result.

I