> ## Documentation Index
> Fetch the complete documentation index at: https://statsig-preview.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# List Experiments



## OpenAPI

````yaml api-reference/statsig_openapi.json get /console/v1/experiments
openapi: 3.0.0
info:
  title: Console API
  description: >-
    The "Console API" is the CRUD API for performing the actions offered on
    console.statsig.com without needing to go through the web UI.

    If you have any feature requests, drop on in to our [slack
    channel](https://www.statsig.com/slack) and let us know.

    <br /><br />

    <b>Authorization</b>

    <br />

    All requests must include the **STATSIG-API-KEY** field in the header. The
    value should be a **Console API Key** which can be created in the Project
    Settings on
    [console.statsig.com/api_keys](https://console.statsig.com/api_keys)

    <br /><br />

    <b>Rate Limiting</b>

    <br />

    Requests to the Console API are limited to <code>~ 100reqs / 10secs and ~
    900reqs / 15 mins</code>.

    <br /><br />

    <b>Keyboard Search</b>

    <br />

    Use <code>Ctrl/Cmd + K</code> to search for specific endpoints.
  version: 20240601.0.0
  contact: {}
servers:
  - url: https://statsigapi.net
security: []
tags: []
paths:
  /console/v1/experiments:
    get:
      tags:
        - Experiments
      summary: List Experiments
      parameters:
        - name: layerID
          required: false
          in: query
          description: Which layer to place the experiment into.
          schema:
            type: string
        - name: idType
          required: false
          in: query
          description: The idType the experiment will be performed on
          schema:
            type: string
        - name: status
          required: false
          in: query
          description: The current status of the experiment
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
        - name: creatorName
          required: false
          in: query
          description: Name of the creator.
          schema:
            type: string
            nullable: true
        - name: creatorID
          required: false
          in: query
          description: ID of the user who created the entity.
          schema:
            type: string
            nullable: true
        - name: tags
          required: false
          in: query
          description: Filter by tags
          examples:
            single tag:
              value: tag1
            multiple tags:
              value:
                - tag1
                - tag2
          schema:
            oneOf:
              - type: string
              - type: array
                items:
                  type: string
        - name: limit
          required: false
          in: query
          description: Results per page
          schema:
            example: 10
            oneOf:
              - type: string
              - type: number
            type: integer
        - name: page
          required: false
          in: query
          description: Page number
          schema:
            example: 1
            oneOf:
              - type: string
              - type: number
            type: integer
        - name: x-respect-review-settings
          in: header
          description: Optional header to respect review settings for mutation endpoints.
          required: false
          schema:
            type: string
      responses:
        '200':
          description: List Experiments Success
          content:
            application/json:
              schema:
                allOf:
                  - $ref: '#/components/schemas/PaginationResponseWithMessage'
                  - properties:
                      data:
                        type: array
                        items:
                          $ref: '#/components/schemas/ExternalExperimentDto'
                example:
                  message: Experiments listed successfully.
                  data:
                    - id: a_experiment
                      name: a_experiment
                      description: description
                      idType: userID
                      lastModifierID: 1vaQaBoLlkauH9iiuOSBP2
                      lastModifiedTime: 1707427635442
                      lastModifierName: CONSOLE API
                      lastModifierEmail: null
                      creatorID: 1vaQaBoLlkauH9iiuOSBP2
                      createdTime: 1707427634717
                      creatorName: CONSOLE API
                      creatorEmail: null
                      targetApps: []
                      holdoutIDs: []
                      tags: []
                      status: setup
                      launchedGroupID: null
                      startTime: null
                      endTime: null
                      layerID: null
                      hypothesis: This will be a good feature :)
                      primaryMetrics:
                        - name: d1_retention_rate
                          type: user
                      primaryMetricTags: []
                      secondaryMetrics: []
                      secondaryMetricTags: []
                      groups:
                        - name: Control
                          id: 6sEQvUd4c6E55V6ljBYMeJ
                          size: 50
                          parameterValues:
                            assigned_group: control
                          description: ''
                        - name: Test
                          id: 6sEQvVS6EoNzpkEgUJUpxL
                          size: 50
                          parameterValues:
                            assigned_group: test
                          description: ''
                      allocation: 100
                      duration: 14
                      targetingGateID: ''
                      defaultConfidenceInterval: '95'
                      bonferroniCorrection: false
                      decisionReason: null
                      decisionTime: null
                      healthChecks: []
                      owner:
                        ownerType: USER
                        ownerName: Test User
                      inlineTargetingRulesJSON: '{}'
                      healthCheckStatus: PASSED
                    - id: b_experiment
                      name: b experiment
                      description: ''
                      idType: userID
                      inlineTargetingRulesJSON: '{}'
                      lastModifierID: 68ztZp2v2nFc81RAsvuvj4
                      lastModifiedTime: 1706744900374
                      lastModifierName: jacob O'Quinn
                      lastModifierEmail: jacob@statsig.com
                      creatorID: 68ztZp2v2nFc81RAsvuvj4
                      createdTime: 1678394676162
                      creatorName: jacob O'Quinn
                      creatorEmail: jacob@statsig.com
                      targetApps: []
                      holdoutIDs: []
                      tags:
                        - customTag
                        - asdf
                      status: archived
                      launchedGroupID: null
                      startTime: null
                      endTime: null
                      layerID: null
                      hypothesis: ''
                      primaryMetrics: []
                      primaryMetricTags: []
                      secondaryMetrics: []
                      secondaryMetricTags:
                        - ★ Core
                      groups:
                        - name: Control
                          id: 7dCnwm0by2laSOcBNKIL8r
                          size: 50
                          parameterValues:
                            control: control value
                          description: ''
                        - name: Test
                          id: 7dCnwnFe0kuFcdKxoSEort
                          size: 50
                          parameterValues:
                            control: test value
                          description: ''
                      allocation: 100
                      duration: 14
                      targetingGateID: targeting_gate_to_select_users
                      defaultConfidenceInterval: '95'
                      bonferroniCorrection: false
                      decisionReason: null
                      decisionTime: null
                      healthCheckStatus: WAITING
                      healthChecks:
                        - name: Checks not yet detected
                          status: WAITING
                          description: >-
                            This experiment has not recorded any exposure checks
                            in production yet.
                        - name: Valid unit type not yet verified
                          status: WAITING
                          description: >-
                            Exposure checks for this experiment are pending
                            evaluation. This experiment requires exposure checks
                            with unit IDs of type userID
                        - name: Event metric data not yet verified
                          status: WAITING
                          description: >-
                            This experiment has recorded no event metric with a
                            valid unit ID yet, or these event metrics are
                            pending evaluation. If you are importing events,
                            this may take up to a day to reflect. This
                            experiment requires metrics with unit IDs of type
                            userID
                        - name: Pulse metrics not yet available
                          status: WAITING
                          description: >-
                            Expect to see your Pulse Results within 24 hours.
                            Statsig computes Pulse results on a daily basis.
                        - name: Exposure balance not yet verified
                          status: WAITING
                          description: >-
                            Exposure balance for this experiment is pending
                            evaluation. As the experiment records more
                            exposures, Statsig will continue to evaluate
                            experiment exposure balance.
              example:
                message: Experiments listed successfully.
                data:
                  - id: a_experiment
                    name: a_experiment
                    description: description
                    idType: userID
                    lastModifierID: 1vaQaBoLlkauH9iiuOSBP2
                    lastModifiedTime: 1707427635442
                    lastModifierName: CONSOLE API
                    lastModifierEmail: null
                    creatorID: 1vaQaBoLlkauH9iiuOSBP2
                    createdTime: 1707427634717
                    creatorName: CONSOLE API
                    creatorEmail: null
                    targetApps: []
                    holdoutIDs: []
                    tags: []
                    status: setup
                    launchedGroupID: null
                    startTime: null
                    endTime: null
                    layerID: null
                    hypothesis: This will be a good feature :)
                    primaryMetrics:
                      - name: d1_retention_rate
                        type: user
                    primaryMetricTags: []
                    secondaryMetrics: []
                    secondaryMetricTags: []
                    groups:
                      - name: Control
                        id: 6sEQvUd4c6E55V6ljBYMeJ
                        size: 50
                        parameterValues:
                          assigned_group: control
                        description: ''
                      - name: Test
                        id: 6sEQvVS6EoNzpkEgUJUpxL
                        size: 50
                        parameterValues:
                          assigned_group: test
                        description: ''
                    allocation: 100
                    duration: 14
                    targetingGateID: ''
                    defaultConfidenceInterval: '95'
                    bonferroniCorrection: false
                    decisionReason: null
                    decisionTime: null
                    healthChecks: []
                    owner:
                      ownerType: USER
                      ownerName: Test User
                    inlineTargetingRulesJSON: '{}'
                    healthCheckStatus: PASSED
                  - id: b_experiment
                    name: b experiment
                    description: ''
                    idType: userID
                    inlineTargetingRulesJSON: '{}'
                    lastModifierID: 68ztZp2v2nFc81RAsvuvj4
                    lastModifiedTime: 1706744900374
                    lastModifierName: jacob O'Quinn
                    lastModifierEmail: jacob@statsig.com
                    creatorID: 68ztZp2v2nFc81RAsvuvj4
                    createdTime: 1678394676162
                    creatorName: jacob O'Quinn
                    creatorEmail: jacob@statsig.com
                    targetApps: []
                    holdoutIDs: []
                    tags:
                      - customTag
                      - asdf
                    status: archived
                    launchedGroupID: null
                    startTime: null
                    endTime: null
                    layerID: null
                    hypothesis: ''
                    primaryMetrics: []
                    primaryMetricTags: []
                    secondaryMetrics: []
                    secondaryMetricTags:
                      - ★ Core
                    groups:
                      - name: Control
                        id: 7dCnwm0by2laSOcBNKIL8r
                        size: 50
                        parameterValues:
                          control: control value
                        description: ''
                      - name: Test
                        id: 7dCnwnFe0kuFcdKxoSEort
                        size: 50
                        parameterValues:
                          control: test value
                        description: ''
                    allocation: 100
                    duration: 14
                    targetingGateID: targeting_gate_to_select_users
                    defaultConfidenceInterval: '95'
                    bonferroniCorrection: false
                    decisionReason: null
                    decisionTime: null
                    healthCheckStatus: WAITING
                    healthChecks:
                      - name: Checks not yet detected
                        status: WAITING
                        description: >-
                          This experiment has not recorded any exposure checks
                          in production yet.
                      - name: Valid unit type not yet verified
                        status: WAITING
                        description: >-
                          Exposure checks for this experiment are pending
                          evaluation. This experiment requires exposure checks
                          with unit IDs of type userID
                      - name: Event metric data not yet verified
                        status: WAITING
                        description: >-
                          This experiment has recorded no event metric with a
                          valid unit ID yet, or these event metrics are pending
                          evaluation. If you are importing events, this may take
                          up to a day to reflect. This experiment requires
                          metrics with unit IDs of type userID
                      - name: Pulse metrics not yet available
                        status: WAITING
                        description: >-
                          Expect to see your Pulse Results within 24 hours.
                          Statsig computes Pulse results on a daily basis.
                      - name: Exposure balance not yet verified
                        status: WAITING
                        description: >-
                          Exposure balance for this experiment is pending
                          evaluation. As the experiment records more exposures,
                          Statsig will continue to evaluate experiment exposure
                          balance.
        '401':
          description: >-
            This endpoint only accepts an active CONSOLE key, but an invalid key
            was sent. Key: console-xxxXXXxxxXXXxxx
          content:
            application/json:
              schema:
                type: object
                properties:
                  status:
                    type: integer
                    enum:
                      - 401
                  message:
                    type: string
                required:
                  - status
                  - message
              examples:
                Invalid Endpoint:
                  value:
                    status: 401
                    message: >-
                      This endpoint only accepts an active CONSOLE key, but an
                      invalid key was sent. Key: console-xxxXXXxxxXXXxxx
      security:
        - STATSIG-API-KEY: []
components:
  schemas:
    PaginationResponseWithMessage:
      type: object
      properties:
        message:
          type: string
          description: A simple string explaining the result of the operation.
        data:
          description: Array of results returned by pagination limit.
          type: array
          items:
            type: object
        pagination:
          description: Pagination metadata for checking if there is next page for example.
          allOf:
            - $ref: '#/components/schemas/PaginationResponseMetadataDto'
      required:
        - message
        - data
        - pagination
    ExternalExperimentDto:
      type: object
      properties:
        reviewSettings:
          type: object
          properties:
            requiredReview:
              type: boolean
            allowedReviewers:
              type: array
              items:
                type: object
                properties:
                  id:
                    type: string
                  name:
                    type: string
                  email:
                    type: string
                required:
                  - id
                  - name
                  - email
              nullable: true
          required:
            - requiredReview
        activeReview:
          type: object
          properties:
            reviewID:
              type: string
            reviewStatus:
              type: string
            description:
              type: string
          required:
            - reviewID
            - reviewStatus
            - description
        id:
          type: string
          description: ID
        name:
          type: string
          description: Optional name for the configuration.
        idType:
          type: string
        description:
          type: string
          maxLength: 1000
          description: A helpful summary of what this experiment does
        lastModifierID:
          type: string
          nullable: true
          description: ID of the last modifier.
        lastModifiedTime:
          type: number
          nullable: true
          description: Time of the last modification.
        lastModifierEmail:
          type: string
          nullable: true
          description: Email of the last modifier.
        lastModifierName:
          type: string
          nullable: true
          description: Name of the last modifier.
        creatorID:
          type: string
          nullable: true
          description: The Statsig ID of the creator of this experiment
        createdTime:
          type: number
          description: Timestamp when the entity was created.
        creatorName:
          type: string
          nullable: true
          description: Name of the creator.
        creatorEmail:
          type: string
          nullable: true
          description: The email of the creator of this experiment
        tags:
          type: array
          items:
            type: string
        targetApps:
          oneOf:
            - type: string
            - type: array
              items:
                type: string
          description: Target apps assigned to this experiment
        holdoutIDs:
          type: array
          items:
            type: string
          description: Holdouts applied to this configuration.
        team:
          type: string
          nullable: true
          description: The team name associated with the experiment, Enterprise only.
        teamID:
          type: string
          nullable: true
          description: The team ID associated with the experiment, Enterprise only.
        version:
          type: number
          description: Version number
        secondaryIDType:
          type: string
          nullable: true
          description: >-
            The secondary ID type for the experiment used in WHN for ID
            resolution
        hypothesis:
          type: string
          description: A statement that will be tested by this experiment
        links:
          type: array
          items:
            type: object
            properties:
              url:
                type: string
                format: uri
                description: The URL of the link
              title:
                type: string
                description: The title of the link
            required:
              - url
          description: Links to relevant documentation or resources
        groups:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              id:
                type: string
                nullable: true
              size:
                type: number
                minimum: 0
                maximum: 100
              parameterValues:
                type: object
                additionalProperties: {}
              disabled:
                type: boolean
              description:
                type: string
              foreignGroupID:
                type: string
            required:
              - name
              - size
              - parameterValues
          description: The test groups for your experiment
        controlGroupID:
          type: string
          description: Optional control group ID
        allocation:
          type: number
          minimum: 0
          maximum: 100
          description: Percent of layer allocated to this experiment
        primaryMetricTags:
          type: array
          items:
            type: string
          description: Primary metric tags for the experiment
        secondaryMetricTags:
          type: array
          items:
            type: string
          description: Secondary metric tags for the experiment
        primaryMetrics:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              type:
                type: string
              direction:
                type: string
                enum:
                  - increase
                  - decrease
              hypothesizedValue:
                type: number
            required:
              - name
              - type
        secondaryMetrics:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              type:
                type: string
              direction:
                type: string
                enum:
                  - increase
                  - decrease
              hypothesizedValue:
                type: number
            required:
              - name
              - type
        duration:
          type: integer
          minimum: 1
          exclusiveMinimum: true
          description: How long the experiment is expected to last in days
        targetExposures:
          type: integer
          minimum: 1
          exclusiveMinimum: true
          description: Target exposures for the experiment
        targetingGateID:
          type: string
          nullable: true
          description: Restrict your experiment to users passing the selected feature gate
        sequentialTesting:
          type: boolean
          description: Apply sequential testing?
        bonferroniCorrection:
          type: boolean
          description: Is Bonferroni correction applied per variant?
        bonferroniCorrectionPerMetric:
          type: boolean
          description: Is Bonferroni correction applied per metric?
        benjaminiHochbergPerVariant:
          type: boolean
          description: Is Benjamini-Hochberg procedure applied per variant?
        benjaminiHochbergPerMetric:
          type: boolean
          description: Is Benjamini-Hochberg procedure applied per metric?
        benjaminiPrimaryMetricsOnly:
          type: boolean
          description: Is Benjamini-Hochberg procedure applied for primary metrics only?
        defaultConfidenceInterval:
          type: string
          enum:
            - '80'
            - '90'
            - '95'
            - '98'
            - '99'
          description: Default error margin used for results
        status:
          type: string
          enum:
            - active
            - setup
            - decision_made
            - abandoned
            - archived
            - experiment_stopped
            - assignment_stopped
          description: The current status of the experiment
        launchedGroupID:
          type: string
          nullable: true
          description: ID of the launched group, null otherwise
        assignmentSourceName:
          type: string
        assignmentSourceExperimentName:
          type: string
          description: Name of the source experiment for assignment
        isAnalysisOnly:
          type: boolean
        allocationDuration:
          type: integer
          minimum: 1
          exclusiveMinimum: true
          nullable: true
          description: Warehouse Native Only - Allocation duration in days
        cohortedAnalysisDuration:
          type: integer
          minimum: 1
          exclusiveMinimum: true
          description: Warehouse Native Only - Cohorted analysis duration in days
        cohortedMetricsMatureAfterEnd:
          type: boolean
          description: >-
            Warehouse Native Only - Allow cohort metrics to mature after
            experiment end
        cohortWaitUntilEndToInclude:
          type: boolean
          description: >-
            Warehouse Native Only - Whether to filter to units whose experiment
            cohort analysis duration is complete, if cohortedAnalysisDuration
            exists
        fixedAnalysisDuration:
          type: integer
          minimum: 1
          exclusiveMinimum: true
          description: Fixed analysis duration in days
        scheduledReloadHour:
          type: integer
          minimum: 0
          maximum: 23
          description: >-
            Warehouse Native only - UTC hour at which to run scheduled pulse
            loads
        scheduledReloadType:
          type: string
          enum:
            - full
            - incremental
          description: Warehouse Native only - reload type for scheduled reloads
        analysisEndTime:
          type: string
        precommitWebhook:
          type: object
          properties:
            url:
              type: string
            internalStatusUrl:
              type: string
          required:
            - url
            - internalStatusUrl
          nullable: true
        assignmentSourceFilters:
          type: array
          items:
            type: object
            properties:
              column:
                type: string
                description: Column to filter on.
              condition:
                type: string
                enum:
                  - in
                  - not_in
                  - '='
                  - '>'
                  - <
                  - '>='
                  - <=
                  - is_null
                  - non_null
                  - contains
                  - not_contains
                  - sql_filter
                  - starts_with
                  - ends_with
                  - after_exposure
              values:
                type: array
                items:
                  type: string
                description: Optional array of values for the criterion to match against.
            required:
              - condition
          description: Array of criteria for filtering assignment sources.
        analyticsType:
          type: string
          nullable: true
        subtype:
          type: string
          enum:
            - conversion
            - reactivation
            - retention
        externalExperimentName:
          type: string
        layerID:
          type: string
          nullable: true
        startTime:
          type: number
          nullable: true
        endTime:
          type: number
          nullable: true
        decisionReason:
          type: string
          nullable: true
        decisionTime:
          type: number
          nullable: true
        healthChecks:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
              description:
                type: string
              status:
                type: string
                enum:
                  - PASSED
                  - FAILED
                  - WAITING
                  - WARNING
              metadata:
                type: object
                properties:
                  type:
                    type: string
                  lastPulseLoadTime:
                    type: number
                  crossoverPercent:
                    type: number
                  assignmentSourceID:
                    type: string
                  assignmentSourceName:
                    type: string
                  foreignExperimentID:
                    type: string
                  deduplication_rate:
                    type: number
                  deduplication_rates:
                    type: array
                    items:
                      type: object
                      properties:
                        group_id:
                          type: string
                        rate:
                          type: number
                        group_name:
                          type: string
                      required:
                        - group_id
                        - rate
                        - group_name
                  primary_id_type:
                    type: string
                  secondary_id_type:
                    type: string
                  missingMetrics:
                    type: array
                    items:
                      type: string
                  metrics:
                    type: array
                    items:
                      type: object
                      properties:
                        metric_name:
                          type: string
                        earliest_date:
                          type: string
                          format: date-time
                          nullable: true
                        latest_date:
                          type: string
                          format: date-time
                          nullable: true
                      required:
                        - metric_name
                        - earliest_date
                        - latest_date
                  lastUpdatedDs:
                    type: string
                required:
                  - type
                  - primary_id_type
              type:
                type: string
                enum:
                  - has_checks
                  - has_valid_unit_type
                  - has_balanced_exposures
                  - has_event_metrics
                  - has_pulse_metrics
                  - assignment_health
                  - has_crossover
                  - has_exposures
                  - has_recent_exposures_for_analyze_whn
                  - user_metrics_exist
                  - deduplication_rate
                  - deduplication_rate_group_level
                  - windowed_metrics_have_outliers
                  - exposures_data_is_behind
                  - pre_experimental_bias_check
                  - segments_of_interest_analysis
                  - has_changed_parameter
                  - metric_history_for_topline_impact
                  - default_value_mismatch
            required:
              - name
              - description
              - status
        healthCheckStatus:
          type: string
          enum:
            - PASSED
            - FAILED
            - WAITING
            - WARNING
          description: Overall health check status
        owner:
          type: object
          properties:
            ownerID:
              type: string
              description: ID of the owner
              example: abc123
            ownerType:
              type: string
              description: Type of the owner (e.g., SDK_KEY or USER)
              example: USER
            ownerName:
              type: string
              description: The name of the owner. This field is optional.
              example: John Doe
            ownerEmail:
              type: string
              description: The email of the owner. This field is optional.
          description: >-
            Schema for owner data including ID, type, name. Note that if Entity
            is created by CONSOLE API, owner will be undefined.
          example:
            ownerID: user123
            ownerType: USER
            ownerName: John Doe
            ownerEmail: owner123@test.com
          nullable: true
        inlineTargetingRulesJSON:
          type: string
          nullable: true
      required:
        - id
        - idType
        - description
        - lastModifierID
        - lastModifiedTime
        - lastModifierEmail
        - lastModifierName
        - createdTime
        - creatorName
        - tags
        - hypothesis
        - groups
        - allocation
        - primaryMetrics
        - secondaryMetrics
        - targetingGateID
        - bonferroniCorrection
        - defaultConfidenceInterval
        - status
        - layerID
        - startTime
        - endTime
        - decisionReason
        - decisionTime
        - healthCheckStatus
    PaginationResponseMetadataDto:
      type: object
      properties:
        itemsPerPage:
          type: number
        pageNumber:
          type: number
        nextPage:
          type: string
          nullable: true
        previousPage:
          type: string
          nullable: true
        totalItems:
          type: number
        all:
          type: string
      required:
        - itemsPerPage
        - pageNumber
        - nextPage
        - previousPage
  securitySchemes:
    STATSIG-API-KEY:
      type: apiKey
      name: STATSIG-API-KEY
      in: header

````