> ## Documentation Index
> Fetch the complete documentation index at: https://docs2.growthbook.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Stop an experiment



## OpenAPI

````yaml openapi.yaml POST /v1/experiments/{id}/stop
openapi: 3.1.0
info:
  version: 4.4.0
  title: GrowthBook REST API
  description: >
    GrowthBook offers a full REST API for interacting with the application.


    Request data can use either JSON or Form data encoding (with proper
    `Content-Type` headers). All response bodies are JSON-encoded.


    The API base URL for GrowthBook Cloud is `https://api.growthbook.io/api`.
    For self-hosted deployments, it is the same as your API_HOST environment
    variable (defaults to `http://localhost:3100/api`). The rest of these docs
    will assume you are using GrowthBook Cloud.


    ## Versioning


    Endpoints are versioned by path prefix:


    - `/v1/...` — stable, widely-supported endpoints

    - `/v2/...` — updated endpoints with improved shapes (e.g. unified per-rule
    environment scope for feature flags)


    New integrations should prefer v2 where available.


    ## Authentication


    We support both the HTTP Basic and Bearer authentication schemes for
    convenience.


    You first need to generate a new API Key in GrowthBook. Different keys have
    different permissions:


    - **Personal Access Tokens**: These are sensitive and provide the same level
    of access as the user has to an organization. These can be created by going
    to `Personal Access Tokens` under the your user menu.

    - **Secret Keys**: These are sensitive and provide the level of access for
    the role, which currently is either `admin` or `readonly`. Only Admins with
    the `manageApiKeys` permission can manage Secret Keys on behalf of an
    organization. These can be created by going to `Settings -> API Keys`


    If using HTTP Basic auth, pass the Secret Key as the username and leave the
    password blank (when using curl, add `:` at the end of the secret to
    indicate an empty password)


    ```bash

    curl https://api.growthbook.io/api/v1/features \
      -u secret_abc123DEF456:
    ```


    If using Bearer auth, pass the Secret Key as the token:


    ```bash

    curl https://api.growthbook.io/api/v1/features \

    -H "Authorization: Bearer secret_abc123DEF456"

    ```


    ## Errors


    The API may return the following error status codes:


    - **400** - Bad Request - Often due to a missing required parameter

    - **401** - Unauthorized - No valid API key provided

    - **402** - Request Failed - The parameters are valid, but the request
    failed

    - **403** - Forbidden - Provided API key does not have the required access

    - **404** - Not Found - Unknown API route or requested resource

    - **422** - Soft Warning - The request failed, but can be re-submitted with
    `?ignoreWarnings=true` to proceed anyway.

    - **429** - Too Many Requests - You exceeded the rate limit of 60 requests
    per minute. Try again later.

    - **5XX** - Server Error - Something went wrong on GrowthBook's end (these
    are rare)


    The response body will be a JSON object with the following properties:


    - **message** - Information about the error
servers:
  - url: https://api.growthbook.io/api
    description: GrowthBook Cloud
  - url: https://{domain}/api
    description: Self-hosted GrowthBook
    variables:
      domain:
        default: localhost:3100
        description: Your self-hosted GrowthBook host (and port)
security:
  - bearerAuth: []
  - basicAuth: []
tags:
  - name: projects
    x-displayName: Projects
    description: Projects are used to organize your feature flags and experiments
  - name: environments
    x-displayName: Environments
    description: >-
      GrowthBook comes with one environment by default (production), but you can
      add as many as you need. When used with feature flags, you can
      enable/disable feature flags on a per-environment basis.
  - name: features-v2
    x-displayName: Feature Flags
    description: >-
      Control your feature flags programatically.


      Rules are returned as a unified top-level array; each rule carries
      `allEnvironments` / `environments` scope fields instead of being bucketed
      by environment.
  - name: feature-revisions-v2
    x-displayName: Feature Revisions
    description: >-
      Draft revisions for feature flags, including rules, scheduling, and
      approval workflows.


      Revision `rules` is a flat array with per-rule scope fields.
  - name: features
    x-displayName: Feature Flags (legacy)
    description: >-
      Control your feature flags programatically.


      **These are v1 endpoints.** New integrations should use the v2 Feature
      Flags endpoints, which expose a unified per-rule environment scope instead
      of per-environment rule arrays.
  - name: feature-revisions
    x-displayName: Feature Revisions (legacy)
    description: >-
      Draft revisions for feature flags, including rules, scheduling, and
      approval workflows.


      **These are v1 endpoints.** New integrations should use the v2 Feature
      Revisions endpoints.
  - name: ramp-schedules
    x-displayName: Ramp Schedules
    description: >-
      Multi-step rollout schedules that gradually increase feature rule traffic
      over time, with optional real-time monitoring. Each step supports interval
      timers, approval gates, and hold conditions. Monitored steps are backed by
      a live analysis experiment that can automatically hold, roll back, or
      advance the ramp based on guardrail and signal metric health.
  - name: data-sources
    x-displayName: Data Sources
    description: >-
      How GrowthBook connects and queries your data, including cached database
      schema metadata (information schemas) for tables and columns.
  - name: fact-tables
    x-displayName: Fact Tables
    description: Fact Tables describe the shape of your data warehouse tables
  - name: fact-metrics
    x-displayName: Fact Metrics
    description: Fact Metrics are metrics built on top of Fact Table definitions
  - name: metrics
    x-displayName: Metrics (legacy)
    description: Metrics used as goals and guardrails for experiments
  - name: experiments
    x-displayName: Experiments
    description: Experiments (A/B Tests)
  - name: namespaces
    x-displayName: Namespaces
    description: >-
      Namespaces partition your user population into buckets so that experiments
      using the same hash attribute do not overlap unintentionally. Each
      namespace defines a 0–1 range and individual experiments claim sub-ranges
      within it.
  - name: snapshots
    x-displayName: Experiment Snapshots
    description: Experiment Snapshots (the individual updates of an experiment)
  - name: dimensions
    x-displayName: Dimensions
    description: Dimensions used during experiment analysis
  - name: segments
    x-displayName: Segments
    description: Segments used during experiment analysis
  - name: reports
    x-displayName: Experiment Reports
    description: >-
      Custom analysis reports built on top of experiment snapshots. Reports let
      you re-run analysis with different metrics, date ranges, stats engines,
      and other settings without modifying the underlying experiment.
  - name: sdk-connections
    x-displayName: SDK Connections
    description: Client keys and settings for connecting SDKs to a GrowthBook instance
  - name: visual-changesets
    x-displayName: Visual Changesets
    description: Groups of visual changes made by the visual editor to a single page
  - name: saved-groups
    x-displayName: Saved Groups
    description: >-
      Defined sets of attribute values which can be used with feature rules for
      targeting features at particular users.
  - name: saved-group-revisions
    x-displayName: Saved Group Revisions
    description: >-
      Draft revisions for saved groups, including pending changes, approvals,
      and lifecycle (publish, discard, revert).


      Most callers can interact with these endpoints via shorthand actions
      (`/items/add`, `/items/remove`, single-field PUTs) instead of authoring
      JSON Patch ops directly. Pass `version: "new"` on edit endpoints to
      auto-create a draft.
  - name: releases
    x-displayName: Releases
    description: >-
      **Beta** — these endpoints are new and may change in
      backwards-incompatible ways.


      Coordinated multi-entity publishing: publish a set of revisions across
      Feature Flags, Saved Groups, configs, and constants as one all-or-nothing
      operation, validated against the combined end-state instead of each
      in-between state. Requires the `releases` commercial feature.
  - name: organizations
    x-displayName: Organizations
    description: >-
      Organizations are used for multi-org deployments where different teams can
      run their own isolated feature flags and experiments. These endpoints are
      only via a super-admin's Personal Access Token.
  - name: members
    x-displayName: Members
    description: Members are users who have been invited to an organization.
  - name: code-references
    x-displayName: Code References
    description: >-
      Intended for use with our code reference CI utility,
      [`gb-find-code-refs`](https://github.com/growthbook/gb-find-code-refs).
  - name: archetypes
    x-displayName: Archetypes
    description: >-
      Archetypes allow you to simulate the result of targeting rules on pre-set
      user attributes
  - name: queries
    x-displayName: Queries
    description: Retrieve queries used in experiments to calculate results.
  - name: settings
    x-displayName: Settings
    description: Get the organization settings.
  - name: attributes
    x-displayName: Attributes
    description: Used when targeting feature flags and experiments.
  - name: usage
    x-displayName: Usage
    description: Usage information for metrics in experiments.
  - name: meta
    x-displayName: Meta
    description: >-
      Server metadata, including the running build's version and commit for
      version-skew checks.
  - name: Dashboards
    x-displayName: Dashboards
    description: ''
  - name: CustomFields
    x-displayName: Custom Fields
    description: ''
  - name: MetricGroups
    x-displayName: Metric Groups
    description: ''
  - name: Teams
    x-displayName: Teams
    description: ''
  - name: ExperimentTemplates
    x-displayName: Experiment Templates
    description: ''
  - name: AnalyticsExplorations
    x-displayName: Analytics Explorations
    description: ''
  - name: RampScheduleTemplates
    x-displayName: Ramp Schedule Templates
    description: Reusable step configurations for ramp schedules.
  - name: AggregatedFactTable_model
    x-displayName: Aggregated Fact Table
    description: <SchemaDefinition schemaRef="#/components/schemas/AggregatedFactTable" />
  - name: AnalyticsExploration_model
    x-displayName: Analytics Exploration
    description: <SchemaDefinition schemaRef="#/components/schemas/AnalyticsExploration" />
  - name: Archetype_model
    x-displayName: Archetype
    description: <SchemaDefinition schemaRef="#/components/schemas/Archetype" />
  - name: Attribute_model
    x-displayName: Attribute
    description: <SchemaDefinition schemaRef="#/components/schemas/Attribute" />
  - name: CodeRef_model
    x-displayName: Code Ref
    description: <SchemaDefinition schemaRef="#/components/schemas/CodeRef" />
  - name: CustomField_model
    x-displayName: Custom Field
    description: <SchemaDefinition schemaRef="#/components/schemas/CustomField" />
  - name: Dashboard_model
    x-displayName: Dashboard
    description: <SchemaDefinition schemaRef="#/components/schemas/Dashboard" />
  - name: DataSource_model
    x-displayName: Data Source
    description: <SchemaDefinition schemaRef="#/components/schemas/DataSource" />
  - name: Dimension_model
    x-displayName: Dimension
    description: <SchemaDefinition schemaRef="#/components/schemas/Dimension" />
  - name: Environment_model
    x-displayName: Environment
    description: <SchemaDefinition schemaRef="#/components/schemas/Environment" />
  - name: EventUser_model
    x-displayName: Event User
    description: <SchemaDefinition schemaRef="#/components/schemas/EventUser" />
  - name: Experiment_model
    x-displayName: Experiment
    description: <SchemaDefinition schemaRef="#/components/schemas/Experiment" />
  - name: Experiment Rule_model
    x-displayName: Experiment Rule
    description: <SchemaDefinition schemaRef="#/components/schemas/ExperimentRule" />
  - name: ExperimentAnalysisSettings_model
    x-displayName: Experiment Analysis Settings
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ExperimentAnalysisSettings" />
  - name: ExperimentDecisionFrameworkSettings_model
    x-displayName: Experiment Decision Framework Settings
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ExperimentDecisionFrameworkSettings" />
  - name: ExperimentMetric_model
    x-displayName: Experiment Metric
    description: <SchemaDefinition schemaRef="#/components/schemas/ExperimentMetric" />
  - name: ExperimentMetricOverrideEntry_model
    x-displayName: Experiment Metric Override Entry
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ExperimentMetricOverrideEntry" />
  - name: ExperimentResults_model
    x-displayName: Experiment Results
    description: <SchemaDefinition schemaRef="#/components/schemas/ExperimentResults" />
  - name: ExperimentSnapshot_model
    x-displayName: Experiment Snapshot
    description: <SchemaDefinition schemaRef="#/components/schemas/ExperimentSnapshot" />
  - name: ExperimentTemplate_model
    x-displayName: Experiment Template
    description: <SchemaDefinition schemaRef="#/components/schemas/ExperimentTemplate" />
  - name: ExperimentWithEnhancedStatus_model
    x-displayName: Experiment With Enhanced Status
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/ExperimentWithEnhancedStatus" />
  - name: FactMetric_model
    x-displayName: Fact Metric
    description: <SchemaDefinition schemaRef="#/components/schemas/FactMetric" />
  - name: FactTable_model
    x-displayName: Fact Table
    description: <SchemaDefinition schemaRef="#/components/schemas/FactTable" />
  - name: FactTableColumn_model
    x-displayName: Fact Table Column
    description: <SchemaDefinition schemaRef="#/components/schemas/FactTableColumn" />
  - name: FactTableFilter_model
    x-displayName: Fact Table Filter
    description: <SchemaDefinition schemaRef="#/components/schemas/FactTableFilter" />
  - name: FeatureBaseRule_model
    x-displayName: Feature Base Rule
    description: <SchemaDefinition schemaRef="#/components/schemas/FeatureBaseRule" />
  - name: FeatureDefinition_model
    x-displayName: Feature Definition
    description: <SchemaDefinition schemaRef="#/components/schemas/FeatureDefinition" />
  - name: FeatureEnvironmentV1_model
    x-displayName: Feature Environment V1
    description: <SchemaDefinition schemaRef="#/components/schemas/FeatureEnvironmentV1" />
  - name: FeatureEnvironmentV2_model
    x-displayName: Feature Environment V2
    description: <SchemaDefinition schemaRef="#/components/schemas/FeatureEnvironmentV2" />
  - name: FeatureExperimentRefRule_model
    x-displayName: Feature Experiment Ref Rule
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/FeatureExperimentRefRule" />
  - name: FeatureExperimentRule_model
    x-displayName: Feature Experiment Rule
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/FeatureExperimentRule"
      />
  - name: FeatureForceRule_model
    x-displayName: Feature Force Rule
    description: <SchemaDefinition schemaRef="#/components/schemas/FeatureForceRule" />
  - name: FeatureRevisionSummary_model
    x-displayName: Feature Revision Summary
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/FeatureRevisionSummary"
      />
  - name: FeatureRevisionV1_model
    x-displayName: Feature Revision V1
    description: <SchemaDefinition schemaRef="#/components/schemas/FeatureRevisionV1" />
  - name: FeatureRevisionV2_model
    x-displayName: Feature Revision V2
    description: <SchemaDefinition schemaRef="#/components/schemas/FeatureRevisionV2" />
  - name: FeatureRolloutRule_model
    x-displayName: Feature Rollout Rule
    description: <SchemaDefinition schemaRef="#/components/schemas/FeatureRolloutRule" />
  - name: FeatureRuleV1_model
    x-displayName: Feature Rule V1
    description: <SchemaDefinition schemaRef="#/components/schemas/FeatureRuleV1" />
  - name: FeatureRuleV2_model
    x-displayName: Feature Rule V2
    description: <SchemaDefinition schemaRef="#/components/schemas/FeatureRuleV2" />
  - name: FeatureSafeRolloutRule_model
    x-displayName: Feature Safe Rollout Rule
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/FeatureSafeRolloutRule"
      />
  - name: FeatureV1_model
    x-displayName: Feature V1
    description: <SchemaDefinition schemaRef="#/components/schemas/FeatureV1" />
  - name: FeatureV2_model
    x-displayName: Feature V2
    description: <SchemaDefinition schemaRef="#/components/schemas/FeatureV2" />
  - name: FeatureWithRevisionsV1_model
    x-displayName: Feature With Revisions V1
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/FeatureWithRevisionsV1"
      />
  - name: FeatureWithRevisionsV2_model
    x-displayName: Feature With Revisions V2
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/FeatureWithRevisionsV2"
      />
  - name: InformationSchema_model
    x-displayName: Information Schema
    description: <SchemaDefinition schemaRef="#/components/schemas/InformationSchema" />
  - name: InformationSchemaTable_model
    x-displayName: Information Schema Table
    description: >-
      <SchemaDefinition schemaRef="#/components/schemas/InformationSchemaTable"
      />
  - name: LookbackOverride_model
    x-displayName: Lookback Override
    description: <SchemaDefinition schemaRef="#/components/schemas/LookbackOverride" />
  - name: Member_model
    x-displayName: Member
    description: <SchemaDefinition schemaRef="#/components/schemas/Member" />
  - name: Metric_model
    x-displayName: Metric
    description: <SchemaDefinition schemaRef="#/components/schemas/Metric" />
  - name: MetricAnalysis_model
    x-displayName: Metric Analysis
    description: <SchemaDefinition schemaRef="#/components/schemas/MetricAnalysis" />
  - name: MetricGroup_model
    x-displayName: Metric Group
    description: <SchemaDefinition schemaRef="#/components/schemas/MetricGroup" />
  - name: MetricUsage_model
    x-displayName: Metric Usage
    description: <SchemaDefinition schemaRef="#/components/schemas/MetricUsage" />
  - name: Namespace_model
    x-displayName: Namespace
    description: <SchemaDefinition schemaRef="#/components/schemas/Namespace" />
  - name: NamespaceExperimentMember_model
    x-displayName: Namespace Experiment Member
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/NamespaceExperimentMember" />
  - name: Organization_model
    x-displayName: Organization
    description: <SchemaDefinition schemaRef="#/components/schemas/Organization" />
  - name: PaginationFields_model
    x-displayName: Pagination Fields
    description: <SchemaDefinition schemaRef="#/components/schemas/PaginationFields" />
  - name: Project_model
    x-displayName: Project
    description: <SchemaDefinition schemaRef="#/components/schemas/Project" />
  - name: Query_model
    x-displayName: Query
    description: <SchemaDefinition schemaRef="#/components/schemas/Query" />
  - name: RampSchedule_model
    x-displayName: Ramp Schedule
    description: <SchemaDefinition schemaRef="#/components/schemas/RampSchedule" />
  - name: RampScheduleTemplate_model
    x-displayName: Ramp Schedule Template
    description: <SchemaDefinition schemaRef="#/components/schemas/RampScheduleTemplate" />
  - name: Report_model
    x-displayName: Report
    description: <SchemaDefinition schemaRef="#/components/schemas/Report" />
  - name: Safe Rollout Rule_model
    x-displayName: Safe Rollout Rule
    description: <SchemaDefinition schemaRef="#/components/schemas/SafeRolloutRule" />
  - name: SavedGroup_model
    x-displayName: Saved Group
    description: <SchemaDefinition schemaRef="#/components/schemas/SavedGroup" />
  - name: SavedGroupRevision_model
    x-displayName: Saved Group Revision
    description: <SchemaDefinition schemaRef="#/components/schemas/SavedGroupRevision" />
  - name: SavedGroupRevisionActivityLogEntry_model
    x-displayName: Saved Group Revision Activity Log Entry
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SavedGroupRevisionActivityLogEntry" />
  - name: SavedGroupRevisionReview_model
    x-displayName: Saved Group Revision Review
    description: >-
      <SchemaDefinition
      schemaRef="#/components/schemas/SavedGroupRevisionReview" />
  - name: ScheduleRule_model
    x-displayName: Schedule Rule
    description: <SchemaDefinition schemaRef="#/components/schemas/ScheduleRule" />
  - name: SdkConnection_model
    x-displayName: Sdk Connection
    description: <SchemaDefinition schemaRef="#/components/schemas/SdkConnection" />
  - name: Segment_model
    x-displayName: Segment
    description: <SchemaDefinition schemaRef="#/components/schemas/Segment" />
  - name: Settings_model
    x-displayName: Settings
    description: <SchemaDefinition schemaRef="#/components/schemas/Settings" />
  - name: Targeting Rule_model
    x-displayName: Targeting Rule
    description: <SchemaDefinition schemaRef="#/components/schemas/TargetingRule" />
  - name: Team_model
    x-displayName: Team
    description: <SchemaDefinition schemaRef="#/components/schemas/Team" />
  - name: VisualChange_model
    x-displayName: Visual Change
    description: <SchemaDefinition schemaRef="#/components/schemas/VisualChange" />
  - name: VisualChangeset_model
    x-displayName: Visual Changeset
    description: <SchemaDefinition schemaRef="#/components/schemas/VisualChangeset" />
paths:
  /v1/experiments/{id}/stop:
    post:
      tags:
        - experiments
      summary: Stop an experiment
      operationId: postExperimentStop
      parameters:
        - $ref: '#/components/parameters/id'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                results:
                  description: The experiment conclusion status.
                  type: string
                  enum:
                    - dnf
                    - won
                    - lost
                    - inconclusive
                enableTemporaryRollout:
                  description: >-
                    If true, include this stopped experiment in SDK payload and
                    force the release variation (`releasedVariationId`) to all
                    traffic.
                  type: boolean
                releasedVariationId:
                  description: >-
                    Required if enableTemporaryRollout is true. Variation ID
                    (e.g. var_abc123) to release to 100% of traffic eligible for
                    this experiment.
                  type: string
                winnerVariationId:
                  description: >-
                    Variation ID (e.g. var_abc123) of the winning variation.
                    Used only as metadata. Required if results is 'won' and
                    there are multiple test variations. Otherwise, defaults to
                    the test variation when results is 'won' and to the baseline
                    variation for other results.
                  type: string
                analysis:
                  description: >-
                    Optional markdown summary displayed on the experiment
                    results page.
                  type: string
                reason:
                  description: >-
                    Optional reason for ending the phase stored on the latest
                    phase metadata.
                  type: string
                dateEnded:
                  description: >-
                    Optional ISO datetime for ending the latest phase. Defaults
                    to the current date and time.
                  type: string
              required:
                - results
              additionalProperties: false
      responses:
        '200':
          description: Resource created
          content:
            application/json:
              schema:
                type: object
                properties:
                  experiment:
                    $ref: '#/components/schemas/ExperimentWithEnhancedStatus'
                required:
                  - experiment
                additionalProperties: false
        '409':
          description: Conflict
          content:
            application/json:
              schema:
                type: object
                description: Resource is not in a valid status for this operation
                properties:
                  message:
                    type: string
                  code:
                    type: string
                    enum:
                      - invalid_status
                  details:
                    $ref: '#/components/schemas/ApiErrorInvalidStatusDetails'
                required:
                  - message
                  - code
                  - details
      x-codeSamples:
        - lang: cURL
          source: >-
            curl -X POST
            'https://api.growthbook.io/api/v1/experiments/exp_abc123/stop' \
              -H 'Authorization: Bearer YOUR_API_KEY' \
              -H 'Content-Type: application/json' \
              -d '{"results":"won","releasedVariationId":"var_treatment","winnerVariationId":"var_treatment","enableTemporaryRollout":true,"analysis":"Reached desired sample size with statistically significant positive lift; shipping treatment"}'
components:
  parameters:
    id:
      name: id
      in: path
      required: true
      description: The id of the requested resource
      schema:
        description: The id of the requested resource
        type: string
  schemas:
    ExperimentWithEnhancedStatus:
      allOf:
        - type: object
          properties:
            id:
              type: string
            trackingKey:
              type: string
            dateCreated:
              format: date-time
              type: string
            dateUpdated:
              format: date-time
              type: string
            name:
              type: string
            type:
              type: string
              enum:
                - standard
                - multi-armed-bandit
                - holdout
            project:
              type: string
            hypothesis:
              type: string
            description:
              type: string
              maxLength: 10000
            tags:
              type: array
              items:
                type: string
            owner:
              description: >-
                The userId of the owner (or raw owner name/email for legacy
                records)
              type: string
            ownerEmail:
              description: >-
                The email address of the owner, when the owner can be resolved
                to a known user.
              type: string
            archived:
              type: boolean
            status:
              type: string
            autoRefresh:
              type: boolean
            hashAttribute:
              type: string
            fallbackAttribute:
              type: string
            hashVersion:
              anyOf:
                - type: number
                  const: 1
                - type: number
                  const: 2
            disableStickyBucketing:
              type: boolean
            bucketVersion:
              type: number
            minBucketVersion:
              type: number
            variations:
              type: array
              items:
                type: object
                properties:
                  variationId:
                    type: string
                  key:
                    type: string
                  name:
                    type: string
                  description:
                    type: string
                    maxLength: 10000
                  screenshots:
                    type: array
                    items:
                      type: string
                required:
                  - variationId
                  - key
                  - name
                  - description
                  - screenshots
                additionalProperties: false
            phases:
              type: array
              items:
                type: object
                properties:
                  name:
                    type: string
                  dateStarted:
                    type: string
                  dateEnded:
                    type: string
                  reasonForStopping:
                    type: string
                  seed:
                    type: string
                  coverage:
                    type: number
                  trafficSplit:
                    type: array
                    items:
                      type: object
                      properties:
                        variationId:
                          type: string
                        weight:
                          type: number
                      required:
                        - variationId
                        - weight
                      additionalProperties: false
                  namespace:
                    type: object
                    properties:
                      namespaceId:
                        type: string
                      enabled:
                        type: boolean
                      range:
                        minItems: 2
                        maxItems: 2
                        type: array
                        items:
                          type: number
                      ranges:
                        type: array
                        items:
                          type: array
                          prefixItems:
                            - type: number
                            - type: number
                    required:
                      - namespaceId
                    additionalProperties: false
                  targetingCondition:
                    type: string
                  prerequisites:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        condition:
                          type: string
                      required:
                        - id
                        - condition
                      additionalProperties: false
                  savedGroupTargeting:
                    type: array
                    items:
                      type: object
                      properties:
                        matchType:
                          type: string
                          enum:
                            - all
                            - any
                            - none
                        savedGroups:
                          type: array
                          items:
                            type: string
                      required:
                        - matchType
                        - savedGroups
                      additionalProperties: false
                required:
                  - name
                  - dateStarted
                  - dateEnded
                  - reasonForStopping
                  - seed
                  - coverage
                  - trafficSplit
                  - targetingCondition
                additionalProperties: false
            settings:
              $ref: '#/components/schemas/ExperimentAnalysisSettings'
            resultSummary:
              type: object
              properties:
                status:
                  type: string
                winner:
                  type: string
                conclusions:
                  type: string
                releasedVariationId:
                  type: string
                excludeFromPayload:
                  type: boolean
              required:
                - status
                - winner
                - conclusions
                - releasedVariationId
                - excludeFromPayload
              additionalProperties: false
            shareLevel:
              type: string
              enum:
                - public
                - organization
            publicUrl:
              type: string
            banditScheduleValue:
              type: number
            banditScheduleUnit:
              type: string
              enum:
                - days
                - hours
            banditBurnInValue:
              type: number
            banditBurnInUnit:
              type: string
              enum:
                - days
                - hours
            banditConversionWindowValue:
              type: number
            banditConversionWindowUnit:
              type: string
              enum:
                - days
                - hours
            linkedFeatures:
              type: array
              items:
                type: string
            hasVisualChangesets:
              type: boolean
            hasURLRedirects:
              type: boolean
            customFields:
              type: object
              propertyNames:
                type: string
              additionalProperties: {}
            customMetricSlices:
              description: >-
                Custom slices that apply to ALL applicable metrics in the
                experiment
              type: array
              items:
                type: object
                properties:
                  slices:
                    type: array
                    items:
                      type: object
                      properties:
                        column:
                          type: string
                        levels:
                          type: array
                          items:
                            type: string
                      required:
                        - column
                        - levels
                      additionalProperties: false
                required:
                  - slices
                additionalProperties: false
            precomputedUnitDimensionIds:
              maxItems: 3
              type: array
              items:
                type: string
            defaultDashboardId:
              description: ID of the default dashboard for this experiment.
              type: string
            templateId:
              type: string
            statusUpdateSchedule:
              anyOf:
                - description: >-
                    Schedule a future start for a draft experiment. Only
                    `startAt` is currently supported.
                  type: object
                  properties:
                    startAt:
                      format: date-time
                      description: >-
                        ISO datetime when the experiment should start. Must be
                        in the future. Setting or clearing this field
                        invalidates any existing staged start
                        (`nextScheduledStatusUpdate`); call POST
                        /experiments/{id}/start to stage the new schedule.
                      type: string
                  required:
                    - startAt
                  additionalProperties: false
                - type: 'null'
            nextScheduledStatusUpdate:
              anyOf:
                - type: object
                  properties:
                    type:
                      type: string
                      const: start
                    date:
                      format: date-time
                      type: string
                  required:
                    - type
                    - date
                  additionalProperties: false
                - type: 'null'
          required:
            - id
            - trackingKey
            - dateCreated
            - dateUpdated
            - name
            - type
            - project
            - hypothesis
            - description
            - tags
            - owner
            - archived
            - status
            - autoRefresh
            - hashAttribute
            - hashVersion
            - variations
            - phases
            - settings
          additionalProperties: false
        - type: object
          properties:
            enhancedStatus:
              type: object
              properties:
                status:
                  type: string
                  enum:
                    - Running
                    - Stopped
                    - Draft
                    - Scheduled
                    - Archived
                detailedStatus:
                  type: string
              required:
                - status
              additionalProperties: false
          additionalProperties: false
    ApiErrorInvalidStatusDetails:
      type: object
      properties:
        currentStatus:
          type: string
        expectedStatuses:
          type: array
          items:
            type: string
      required:
        - currentStatus
        - expectedStatuses
      additionalProperties: false
    ExperimentAnalysisSettings:
      type: object
      properties:
        datasourceId:
          type: string
        assignmentQueryId:
          type: string
        experimentId:
          type: string
        segmentId:
          type: string
        queryFilter:
          type: string
        inProgressConversions:
          type: string
          enum:
            - include
            - exclude
        attributionModel:
          description: >-
            Setting attribution model to `"experimentDuration"` is the same as
            selecting "Ignore Conversion Windows" for the Conversion Window
            Override. Setting it to `"lookbackOverride"` requires a
            `lookbackOverride` object to be provided.
          type: string
          enum:
            - firstExposure
            - experimentDuration
            - lookbackOverride
        lookbackOverride:
          $ref: '#/components/schemas/LookbackOverride'
        statsEngine:
          type: string
          enum:
            - bayesian
            - frequentist
        regressionAdjustmentEnabled:
          type: boolean
        sequentialTestingEnabled:
          type: boolean
        sequentialTestingTuningParameter:
          type: number
        postStratificationEnabled:
          description: When null, the organization default is used.
          anyOf:
            - description: When null, the organization default is used.
              type: boolean
            - description: When null, the organization default is used.
              type: 'null'
        decisionFrameworkSettings:
          $ref: '#/components/schemas/ExperimentDecisionFrameworkSettings'
        metricOverrides:
          description: >-
            Per-metric analysis overrides; also reflected in
            goals/secondaryMetrics/guardrails overrides when applicable. On
            create/update, this replaces the entire stored array (it does not
            patch individual entries).
          type: array
          items:
            $ref: '#/components/schemas/ExperimentMetricOverrideEntry'
        goals:
          type: array
          items:
            $ref: '#/components/schemas/ExperimentMetric'
        secondaryMetrics:
          type: array
          items:
            $ref: '#/components/schemas/ExperimentMetric'
        guardrails:
          type: array
          items:
            $ref: '#/components/schemas/ExperimentMetric'
        activationMetric:
          $ref: '#/components/schemas/ExperimentMetric'
      required:
        - datasourceId
        - assignmentQueryId
        - experimentId
        - segmentId
        - queryFilter
        - inProgressConversions
        - attributionModel
        - statsEngine
        - goals
        - secondaryMetrics
        - guardrails
      additionalProperties: false
    LookbackOverride:
      description: >-
        Controls the lookback override for the experiment. For type "window",
        value must be a non-negative number and valueUnit is required.
      type: object
      properties:
        type:
          type: string
          enum:
            - date
            - window
        value:
          description: >-
            For "window" type - non-negative numeric value (e.g. 7 for 7 days).
            For "date" type a date string.
          anyOf:
            - description: >-
                For "window" type - non-negative numeric value (e.g. 7 for 7
                days). For "date" type a date string.
              type: number
            - format: date-time
              description: >-
                For "window" type - non-negative numeric value (e.g. 7 for 7
                days). For "date" type a date string.
              type: string
        valueUnit:
          description: Used when type is "window". Defaults to "days".
          type: string
          enum:
            - minutes
            - hours
            - days
            - weeks
      required:
        - type
        - value
      additionalProperties: false
    ExperimentDecisionFrameworkSettings:
      description: >-
        Controls the decision framework and metric overrides for the experiment.
        Replaces the entire stored object on update (does not patch individual
        fields).
      type: object
      properties:
        decisionCriteriaId:
          type: string
        decisionFrameworkMetricOverrides:
          type: array
          items:
            type: object
            properties:
              id:
                description: ID of the metric to override settings for.
                type: string
              targetMDE:
                description: >-
                  The target relative MDE to use for the metric, expressed as
                  proportions (e.g. use 0.1 for 10%). Must be greater than 0.
                type: number
                exclusiveMinimum: 0
            required:
              - id
            additionalProperties: false
      additionalProperties: false
    ExperimentMetricOverrideEntry:
      description: >-
        Per-metric analysis overrides stored on the experiment (matches internal
        metricOverrides).
      type: object
      properties:
        id:
          description: ID of the metric to override settings for.
          type: string
        windowType:
          type: string
          enum:
            - conversion
            - lookback
            - ''
        windowHours:
          type: number
        delayHours:
          type: number
        properPriorOverride:
          description: >-
            Must be true for the override to take effect. If true, the other
            proper prior settings in this object will be used if present.
          type: boolean
        properPriorEnabled:
          type: boolean
        properPriorMean:
          type: number
        properPriorStdDev:
          type: number
        regressionAdjustmentOverride:
          description: >-
            Must be true for the override to take effect. If true, the other
            regression adjustment settings in this object will be used if
            present.
          type: boolean
        regressionAdjustmentEnabled:
          type: boolean
        regressionAdjustmentDays:
          type: number
      required:
        - id
      additionalProperties: false
    ExperimentMetric:
      type: object
      properties:
        metricId:
          type: string
        overrides:
          type: object
          properties:
            delayHours:
              type: number
            windowHours:
              type: number
            window:
              type: string
              enum:
                - conversion
                - lookback
                - ''
            winRiskThreshold:
              deprecated: true
              type: number
            loseRiskThreshold:
              deprecated: true
              type: number
            properPriorOverride:
              type: boolean
            properPriorEnabled:
              type: boolean
            properPriorMean:
              type: number
            properPriorStdDev:
              type: number
            regressionAdjustmentOverride:
              type: boolean
            regressionAdjustmentEnabled:
              type: boolean
            regressionAdjustmentDays:
              type: number
          additionalProperties: false
      required:
        - metricId
        - overrides
      additionalProperties: false
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: >
        If using Bearer auth, pass the Secret Key as the token:

        ```bash

        curl https://api.growthbook.io/api/v1/features   -H "Authorization:
        Bearer secret_abc123DEF456"

        ```
    basicAuth:
      type: http
      scheme: basic
      description: >
        If using HTTP Basic auth, pass the Secret Key as the username and leave
        the password blank:

        ```bash

        curl https://api.growthbook.io/api/v1/features   -u secret_abc123DEF456:

        # The ":" at the end stops curl from asking for a password

        ```

````