### GET /console/v1/settings/reviews Source: https://api.statsig.com/openapi/20240601.json API endpoint for GET /console/v1/settings/reviews ```markdown ### Responses #### 200 - Get Reviews Settings Response - **message** (string) (required): A simple string explaining the result of the operation. - **data** (object) (required) - **is_config_review_required** (boolean) (required): Whether config reviews are required. - **is_metric_review_required** (boolean) (required): Whether metric reviews are required. - **is_metric_review_required_on_verified_only** (boolean) (required): Whether metric reviews are only required for verified metrics. - **is_whn_analysis_only_review_required** (boolean): Whether analysis-only experiment reviews are required. Only applicable to WHN projects. - **is_whn_source_review_required** (boolean): Whether metric/assignment/entity property source reviews are required. Only applicable to WHN projects. #### 400 - Invalid request. Please check the request input and try again. - **status** (integer) (required) ("400") - **message** (string) (required) #### 401 - This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx - **status** (integer) (required) ("401") - **message** (string) (required) ### Example Usage ```bash curl -X GET "https://statsigapi.net/console/v1/settings/reviews" ``` ``` -------------------------------- ### GET /console/v1/settings/project Source: https://api.statsig.com/openapi/20240601.json API endpoint for GET /console/v1/settings/project ```markdown ### Responses #### 200 - Get Project Settings Response - **message** (string) (required): A simple string explaining the result of the operation. - **data** (object) (required) - **name** (string) (required): The name of the project. - **visibility** (string (OPEN|CLOSED|EXTERNAL)) (required): The visibility type of the project. ("OPEN"|"CLOSED"|"EXTERNAL") - **default_unit_type** (string): The default unit ID type of the project for newly created gates, experiments, and metrics. If not provided, there will be no default unit type. #### 400 - Invalid request. Please check the request input and try again. - **status** (integer) (required) ("400") - **message** (string) (required) #### 401 - This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx - **status** (integer) (required) ("401") - **message** (string) (required) ### Example Usage ```bash curl -X GET "https://statsigapi.net/console/v1/settings/project" ``` ``` -------------------------------- ### GET /console/v1/users/teams Source: https://api.statsig.com/openapi/20240601.json API endpoint for GET /console/v1/users/teams ```markdown ### Parameters - **limit** (integer, query, optional): Results per page (example: 10) - **page** (integer, query, optional): Page number (example: 1) ### Responses #### 200 - Get teams response - **message** (string) (required): A simple string explaining the result of the operation. - **data** (array (TeamDtoWithoutMembersDto)) (required) Array items: - **name** (string) (required): The name of the team. - **description** (string): Description of the team. - **id** (string) (required): The ID of the team. - **defaultGateMetrics** (array (object)) (required): Default gate metrics for the team. Array items: - **name** (string) (required): The name of the metric. - **type** (string) (required): The type of the metric. - **defaultExperimentPrimaryMetrics** (array (object)) (required): Default primary metrics for experiments in the team. Array items: - **defaultExperimentSecondaryMetrics** (array (object)) (required): Default secondary metrics for experiments in the team. Array items: - **defaultHoldoutMetrics** (array (object)) (required): Default holdout metrics for the team. Array items: - **changeTeamConfigs** (string (anyone|team_only)) (required): Who can change team configurations: "anyone" or "team_only". ("anyone"|"team_only") - **reviewApproval** (string (anyone|team_only|admin_only)) (required): Who can review and approve changes: "anyone", "team_only", or "admin_only". ("anyone"|"team_only"|"admin_only") - **defaultTargetApplications** (array (string)) (required): Default target applications for the team. - **defaultHoldoutID** (string): Default holdout ID for the team, if applicable. - **requireReviews** (boolean): Whether reviews are required for changes, if applicable. - **requireGateTemplates** (boolean): Whether gate templates are required for the team, if applicable. - **requireExperimentTemplates** (boolean): Whether experiment templates are required for the team, if applicable. - **requireDynamicConfigTemplates** (boolean): Whether dynamic config templates are required for the team, if applicable. - **pagination** (object) (required) - **itemsPerPage** (number (double)) (required) - **pageNumber** (number (double)) (required) - **nextPage** (string) (required) - **previousPage** (string) (required) - **totalItems** (number (double)) - **all** (string) #### 400 - Invalid request. Please check the request input and try again. - **status** (integer) (required) ("400") - **message** (string) (required) #### 401 - This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx - **status** (integer) (required) ("401") - **message** (string) (required) ### Example Usage ```bash curl -X GET "https://statsigapi.net/console/v1/users/teams?limit=10&page=1" ``` ``` -------------------------------- ### Schema: ExperimentCreateDto Source: https://api.statsig.com/openapi/20240601.json Create Experiment ```markdown ## Schema: ExperimentCreateDto Create Experiment **Type:** object - **name** (string) (required): The experiment display name - **description** (string): A description of the new experiment - **idType** (string): The idType the experiment will be performed on - **secondaryIDType** (string): The secondary ID type for the experiment used in WHN for ID resolution - **identifierMappingMode** (string (strictOneToOne|firstTouchOneToMany|lastTouchOneToMany)): The identifier mapping mode for the experiment used in WHN for ID resolution ("strictOneToOne"|"firstTouchOneToMany"|"lastTouchOneToMany") - **identityResolutionSource** (string): The identity resolution entity property source for the experiment used in WHN for ID resolution - **hypothesis** (string): A statement that will be tested by this experiment - **links** (array (object)): Links to relevant documentation or resources Array items: - **url** (string (uri)) (required): The URL of the link - **title** (string): The title of the link - **externalEvents** (array (object)) Array items: - **name** (string) (required) - **timestamp** (number) (required) - **groups** (array (object)): The test groups for your experiment Array items: - **name** (string) (required) - **id** (string) - **size** (number) (required) - **parameterValues** (object) (required) - **disabled** (boolean) - **description** (string) - **foreignGroupID** (string) - **highlighted** (boolean): Marks this experiment group as highlighted in analysis views. Highlighted groups are prioritized (shown first) and can be used to filter. - **controlGroupID** (string): Optional control group ID - **allocation** (number (double)): Percent of layer allocated to this experiment - **userBuckets** (array (number)) - **primaryMetricTags** (array (string)): Primary metric tags for the experiment - **secondaryMetricTags** (array (string)): Secondary metric tags for the experiment - **primaryMetrics** (array (object)): Main metrics needed to evaluate your hypothesis Array items: - **name** (string) (required): The metric name. - **type** (string) (required): The metric type. - **direction** (string (increase|decrease)): The expected direction for one-sided testing (a feature to only measure metric movements in a single direction) ("increase"|"decrease") - **hypothesizedValue** (number): The comparison value for the one-sample testing (a feature to use a fixed baseline as the control value) - **secondaryMetrics** (array (object)): Additional metrics to monitor that might impact the analysis or final decision of the experiment Array items: - **otherMetrics** (array (object)): Additional metrics you want to investigate or learn from. The usual corrections applied to Primary and Secondary metrics are not applied to these. Array items: - **targetApps** (string) - **tags** (array (string)): Tags associated with the experiment - **duration** (integer (int64)): How long the experiment is expected to last in days - **targetExposures** (integer (int64)): Target exposures for the experiment - **targetingGateID** (string): Restrict your experiment to users passing the selected feature gate - **sequentialTesting** (boolean): Apply sequential testing? - **bonferroniCorrection** (boolean): Is Bonferroni correction applied per variant? - **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? - **defaultConfidenceInterval** (string (80|90|95|98|99)): Default error margin used for results ("80"|"90"|"95"|"98"|"99") - **defaultRollupWindow** (integer (int64)): Default rollup window in days for experiment results. Use -1 for cumulative. Only -1, 1, and 7 allowed for cloud experiments. - **defaultChanceToBeatThreshold** (number (double)): Default chance-to-beat threshold used for Bayesian results. - **bayesianPriors** (array (object)): Bayesian prior settings by metric. Array items: - **metric** (object) (required) - **name** (string) (required) - **type** (string) (required) - **priorMean** (number) (required) - **priorStdDev** (number) (required) - **manualQualityScores** (array (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 Array items: - **criteriaName** (string (HYPOTHESIS_LENGTH|BALANCED_EXPOSURE|PRIMARY_METRICS_LENGTH|SECONDARY_METRICS_LENGTH|COMPARISON_CORRECTION|GUARDRAIL_METRIC_TAGS|SUFFICIENT_SAMPLE|POWER_ANALYSIS|SEQUENTIAL_TESTING)) (required) ("HYPOTHESIS_LENGTH"|"BALANCED_EXPOSURE"|"PRIMARY_METRICS_LENGTH"|"SECONDARY_METRICS_LENGTH"|"COMPARISON_CORRECTION"|"GUARDRAIL_METRIC_TAGS"|"SUFFICIENT_SAMPLE"|"POWER_ANALYSIS"|"SEQUENTIAL_TESTING") - **status** (string (PASSED|FAILED|WARNING)) (required) ("PASSED"|"FAILED"|"WARNING") - **criteriaDescription** (string) (required) - **score** (number) (required) - **weight** (number) (required) - **status** (string (active|setup|decision_made|abandoned|archived|experiment_stopped|assignment_stopped)): The current status of the experiment ("active"|"setup"|"decision_made"|"abandoned"|"archived"|"experiment_stopped"|"assignment_stopped") - **launchedGroupID** (string): 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): The Statsig ID of the creator of this experiment - **creatorEmail** (string): The email of the creator of this experiment - **isAnalysisOnly** (boolean): For Warehouse Native - **team** (string): The team name associated with the experiment, Enterprise only. - **teamID** (string): The team ID associated with the experiment, Enterprise only. - **allocationDuration** (integer (int64)): Warehouse Native Only - Allocation duration in days - **cohortedAnalysisDuration** (integer (int64)): Warehouse Native Only - Cohorted analysis duration in days - **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 (int64)): Fixed analysis duration in days - **scheduledReloadHour** (integer (int64)): Warehouse Native only - UTC hour at which to run scheduled pulse loads - **scheduledReloadType** (string (full|incremental)): Warehouse Native only - reload type for scheduled reloads ("full"|"incremental") - **scheduledReloadDays** (array (integer)): Warehouse Native only - days on which to run scheduled reloads from 0 to 6, 0 meaning Sunday. Null to run reloads on all days. - **turboMode** (boolean): Warehouse Native only - whether to run scheduled reloads with Turbo mode. - **autoLoadToplineImpact** (boolean): Warehouse Native only - whether to automatically run topline and projected launch impact calculations when reloading experiments. - **analysisEndTime** (string): Warehouse Native only - end time for analysis only experiments - **assignmentSourceFilters** (array (object)): Array of criteria for filtering assignment sources. Array items: - **column** (string): Column to filter on. - **condition** (string (in|not_in|=|>|<|>=|<=|is_null|non_null|contains|not_contains|sql_filter|starts_with|ends_with|after_exposure|before_exposure|is_true|is_false)) (required) ("in"|"not_in"|"="|">"|"<"|">="|"<="|"is_null"|"non_null"|"contains"|"not_contains"|"sql_filter"|"starts_with"|"ends_with"|"after_exposure"|"before_exposure"|"is_true"|"is_false") - **values** (array (string)): Optional array of values for the criterion to match against. - **analyticsType** (string (frequentist|bayesian|sprt)): The mode of analysis for the experiment, e.g frequentist, bayesian, sprt ("frequentist"|"bayesian"|"sprt") - **defaultSPRTPowerParam** (number (double)): SPRT power parameter percentage used as the default for experiment analysis. - **defaultSPRTMDE** (number (double)): Default MDE value for every metric if one isn't provided. Only used in manual mode. - **sprtBaselineMode** (string (manual|in_experiment_control)): 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. ("manual"|"in_experiment_control") - **sprtMDESettings** (array (object)): The SPRT values for use in the experiment. Array items: - **metricKey** (string) (required) - **groupSettings** (array (object)) (required) Array items: - **groupKey** (string) (required) - **mde** (number) (required) - **mean** (number) - **stdDev** (number) - **isSidecar** (boolean): Whether this is a Statsig Sidecar experiment. - **decisionReason** (string): Experiment notes reported after experiment completes - **preComputedUserDimensions** (array (object)): User dimensions that will be computed for every metric in WHN Array items: - **propertySource** (string) - **name** (string) (required) - **cureCovariates** (array (object)): CURE Covariates to use in this experiment Array items: - **stratifiedSampling** (object): The stratified sampling settings for the experiment - **status** (string (pending|success|error)) (required) ("pending"|"success"|"error") - **metric** (object) - **name** (string) (required) - **type** (string) - **startDate** (string) (required) - **endDate** (string) (required) - **entityPropertySource** (object) - **propertySourceName** (string) (required) - **column** (string) (required) - **csv** (object) - **original** (string) (required) - **identifier** (string) (required) - **useStratifiedSalt** (boolean): Whether successful stratified sampling is currently used for experiment assignment. - **useUnits** (boolean): Whether stratified sampling was configured to use allocated units directly. - **deltaReduction** (number (double)): Observed reduction in delta after running stratified sampling. - **spreadReduction** (number (double)): Observed reduction in spread after running stratified sampling. - **enabledNonProdEnvironments** (array (string)) - **id** (string): The experiment name ID - **layerID** (string): Which layer to place the experiment into. ``` -------------------------------- ### GET /console/v1/users Source: https://api.statsig.com/openapi/20240601.json API endpoint for GET /console/v1/users ```markdown ### Parameters - **limit** (integer, query, optional): Results per page (example: 10) - **page** (integer, query, optional): Page number (example: 1) - **include_stale_members** (boolean, query, optional): Whether to include stale company-user membership edges. Defaults to false, which returns only effective current members (matching the Settings UI). (example: false) ### Responses #### 200 - List users response - **message** (string) (required): A simple string explaining the result of the operation. - **data** (array (UserContractDto)) (required) Array items: - **email** (string (email)) (required): The email address of the user. - **firstName** (string) (required): The user's first name. - **lastName** (string) (required): The user's last name. - **role** (string) (required): The user's role, which can be 'Admin', 'Read Only', 'Member', or any custom role name. - **pagination** (object) (required) - **itemsPerPage** (number (double)) (required) - **pageNumber** (number (double)) (required) - **nextPage** (string) (required) - **previousPage** (string) (required) - **totalItems** (number (double)) - **all** (string) #### 400 - Invalid request. Please check the request input and try again. - **status** (integer) (required) ("400") - **message** (string) (required) #### 401 - This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx - **status** (integer) (required) ("401") - **message** (string) (required) ### Example Usage ```bash curl -X GET "https://statsigapi.net/console/v1/users?limit=10&page=1&include_stale_members=false" ``` ``` -------------------------------- ### POST /console/v1/experiments/{id}/schedule_start Source: https://api.statsig.com/openapi/20240601.json API endpoint for POST /console/v1/experiments/{id}/schedule_start ```markdown ### Parameters - **id** (string, path, required): id ### Request Body **Content-Type:** application/json - **scheduledTime** (number (double)) (required): Unix timestamp (in milliseconds) to schedule the experiment to start ### Responses #### 200 - Schedule Experiment Start Success #### 401 - This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx - **status** (integer) (required) ("401") - **message** (string) (required) #### 404 - Experiment not found. - **status** (integer) (required) ("404") - **message** (string) (required) ### Example Usage ```bash curl -X POST "https://statsigapi.net/console/v1/experiments/{id}/schedule_start" \ -H "Content-Type: application/json" \ -d '{ "scheduledTime": "0" }' ``` ``` -------------------------------- ### GET /console/v1/unit_id_types Source: https://api.statsig.com/openapi/20240601.json API endpoint for GET /console/v1/unit_id_types ```markdown ### Parameters - **limit** (integer, query, optional): Results per page (example: 10) - **page** (integer, query, optional): Page number (example: 1) ### Responses #### 200 - List Unit ID Types Response - **message** (string) (required): A simple string explaining the result of the operation. - **data** (array (UnitIdTypeContractDto)) (required) Array items: - **name** (string) (required): The name of the unit id type. - **description** (string): The description of the unit id type. - **pagination** (object) (required) - **itemsPerPage** (number (double)) (required) - **pageNumber** (number (double)) (required) - **nextPage** (string) (required) - **previousPage** (string) (required) - **totalItems** (number (double)) - **all** (string) #### 400 - Invalid request. Please check the request input and try again. - **status** (integer) (required) ("400") - **message** (string) (required) #### 401 - This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx - **status** (integer) (required) ("401") - **message** (string) (required) ### Example Usage ```bash curl -X GET "https://statsigapi.net/console/v1/unit_id_types?limit=10&page=1" ``` ``` -------------------------------- ### Schema: ExperimentStartDto Source: https://api.statsig.com/openapi/20240601.json Schema definition for ExperimentStartDto ```markdown ## Schema: ExperimentStartDto Schema definition for ExperimentStartDto **Type:** object - **analysisStartTime** (string): For Warehouse Native analysis-only experiments; start time of experiment analysis. (example: "2024-10-01") - **analysisEndTime** (string): For Warehouse Native analysis-only experiments; end time of experiment analysis. (example: "2024-10-30") - **turboMode** (boolean): For Warehouse Native analysis-only experiments; whether to run the initial analysis in turbo mode (example: false) ``` -------------------------------- ### PUT /console/v1/experiments/{id}/start Source: https://api.statsig.com/openapi/20240601.json API endpoint for PUT /console/v1/experiments/{id}/start ```markdown ### Parameters - **id** (string, path, required): id ### Request Body **Content-Type:** application/json - **analysisStartTime** (string): For Warehouse Native analysis-only experiments; start time of experiment analysis. (example: "2024-10-01") - **analysisEndTime** (string): For Warehouse Native analysis-only experiments; end time of experiment analysis. (example: "2024-10-30") - **turboMode** (boolean): For Warehouse Native analysis-only experiments; whether to run the initial analysis in turbo mode (example: false) ### Responses #### 200 - Start Experiment Success #### 400 - Experiment has not yet started - **status** (integer) (required) ("400") - **message** (string) (required) #### 401 - This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx - **status** (integer) (required) ("401") - **message** (string) (required) #### 404 - Experiment not found. - **status** (integer) (required) ("404") - **message** (string) (required) ### Example Usage ```bash curl -X PUT "https://statsigapi.net/console/v1/experiments/{id}/start" \ -H "Content-Type: application/json" \ -d '{ "analysisStartTime": "2024-10-01", "analysisEndTime": "2024-10-30", "turboMode": false }' ``` ``` -------------------------------- ### GET /console/v1/target_app Source: https://api.statsig.com/openapi/20240601.json API endpoint for GET /console/v1/target_app ```markdown ### Parameters - **limit** (integer, query, optional): Results per page (example: 10) - **page** (integer, query, optional): Page number (example: 1) ### Responses #### 200 - List Target Apps Success - **message** (string) (required): A simple string explaining the result of the operation. - **data** (array (TargetAppDto)) (required) Array items: - **id** (string): id of target app (example: "string") - **name** (string) (required): name of the target app (example: "a tag") - **pagination** (object) (required) - **itemsPerPage** (number (double)) (required) - **pageNumber** (number (double)) (required) - **nextPage** (string) (required) - **previousPage** (string) (required) - **totalItems** (number (double)) - **all** (string) #### 401 - This endpoint only accepts an active CONSOLE key, but an invalid key was sent. Key: console-xxxXXXxxxXXXxxx - **status** (integer) (required) ("401") - **message** (string) (required) ### Example Usage ```bash curl -X GET "https://statsigapi.net/console/v1/target_app?limit=10&page=1" ``` ```