# Dialogflow API . projects . locations . agents . environments . experiments

## Instance Methods

Close httplib2 connections.

Creates an Experiment in the specified Environment.

Deletes the specified Experiment.

Retrieves the specified Experiment.

Returns the list of all experiments in the specified Environment.

Retrieves the next page of results.

Updates the specified Experiment.

Starts the specified Experiment. This rpc only changes the state of experiment from PENDING to RUNNING.

Stops the specified Experiment. This rpc only changes the state of experiment from RUNNING to DONE.

### Method Details

`close()`

    Close httplib2 connections.

`create(parent, body=None, x__xgafv=None)`

    Creates an Experiment in the specified Environment.

    Args:
      parent: string, Required. The Agent to create an Environment for. Format: `projects//locations//agents//environments/`. (required)
      body: object, The request body.
        The object takes the form of:

    { # Represents an experiment in an environment.
      "createTime": "A String", # Creation time of this experiment.
      "definition": { # Definition of the experiment. # The definition of the experiment.
        "condition": "A String", # The condition defines which subset of sessions are selected for this experiment. If not specified, all sessions are eligible. E.g. "query_input.language_code=en" See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "versionVariants": { # A list of flow version variants. # The flow versions as the variants of this experiment.
          "variants": [ # A list of flow version variants.
            { # A single flow version with specified traffic allocation.
              "isControlGroup": True or False, # Whether the variant is for the control group.
              "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
              "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
            },
          ],
        },
      },
      "description": "A String", # The human-readable description of the experiment.
      "displayName": "A String", # Required. The human-readable name of the experiment (unique in an environment). Limit of 64 characters.
      "endTime": "A String", # End time of this experiment.
      "experimentLength": "A String", # Maximum number of days to run the experiment/rollout. If auto-rollout is not enabled, default value and maximum will be 30 days. If auto-rollout is enabled, default value and maximum will be 6 days.
      "lastUpdateTime": "A String", # Last update time of this experiment.
      "name": "A String", # The name of the experiment. Format: projects//locations//agents//environments//experiments/..
      "result": { # The inference result which includes an objective metric to optimize and the confidence interval. # Inference result of the experiment.
        "lastUpdateTime": "A String", # The last time the experiment's stats data was updated. Will have default value if stats have never been computed for this experiment.
        "versionMetrics": [ # Version variants and metrics.
          { # Version variant and associated metrics.
            "metrics": [ # The metrics and corresponding confidence intervals in the inference result.
              { # Metric and corresponding confidence intervals.
                "confidenceInterval": { # A confidence interval is a range of possible values for the experiment objective you are trying to measure. # The probability that the treatment is better than all other treatments in the experiment
                  "confidenceLevel": 3.14, # The confidence level used to construct the interval, i.e. there is X% chance that the true value is within this interval.
                  "lowerBound": 3.14, # Lower bound of the interval.
                  "ratio": 3.14, # The percent change between an experiment metric's value and the value for its control.
                  "upperBound": 3.14, # Upper bound of the interval.
                },
                "count": 3.14, # Count value of a metric.
                "countType": "A String", # Count-based metric type. Only one of type or count_type is specified in each Metric.
                "ratio": 3.14, # Ratio value of a metric.
                "type": "A String", # Ratio-based metric type. Only one of type or count_type is specified in each Metric.
              },
            ],
            "sessionCount": 42, # Number of sessions that were allocated to this version.
            "version": "A String", # The name of the flow Version. Format: `projects//locations//agents//flows//versions/`.
          },
        ],
      },
      "rolloutConfig": { # The configuration for auto rollout. # The configuration for auto rollout. If set, there should be exactly two variants in the experiment (control variant being the default version of the flow), the traffic allocation for the non-control variant will gradually increase to 100% when conditions are met, and eventually replace the control variant to become the default version of the flow.
        "failureCondition": "A String", # The conditions that are used to evaluate the failure of a rollout step. If not specified, no rollout steps will fail. E.g. "containment_rate < 10% OR average_turn_count < 3". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutCondition": "A String", # The conditions that are used to evaluate the success of a rollout step. If not specified, all rollout steps will proceed to the next one unless failure conditions are met. E.g. "containment_rate > 60% AND callback_rate < 20%". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutSteps": [ # Steps to roll out a flow version. Steps should be sorted by percentage in ascending order.
          { # A single rollout step with specified traffic allocation.
            "displayName": "A String", # The name of the rollout step;
            "minDuration": "A String", # The minimum time that this step should last. Should be longer than 1 hour. If not set, the default minimum duration for each step will be 1 hour.
            "trafficPercent": 42, # The percentage of traffic allocated to the flow version of this rollout step. (0%, 100%].
          },
        ],
      },
      "rolloutFailureReason": "A String", # The reason why rollout has failed. Should only be set when state is ROLLOUT_FAILED.
      "rolloutState": { # State of the auto-rollout process. # State of the auto rollout process.
        "startTime": "A String", # Start time of the current step.
        "step": "A String", # Display name of the current auto rollout step.
        "stepIndex": 42, # Index of the current step in the auto rollout steps list.
      },
      "startTime": "A String", # Start time of this experiment.
      "state": "A String", # The current state of the experiment. Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING. Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or RUNNING->DONE.
      "variantsHistory": [ # The history of updates to the experiment variants.
        { # The history of variants update.
          "updateTime": "A String", # Update time of the variants.
          "versionVariants": { # A list of flow version variants. # The flow versions as the variants.
            "variants": [ # A list of flow version variants.
              { # A single flow version with specified traffic allocation.
                "isControlGroup": True or False, # Whether the variant is for the control group.
                "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
                "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
              },
            ],
          },
        },
      ],
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents an experiment in an environment.
      "createTime": "A String", # Creation time of this experiment.
      "definition": { # Definition of the experiment. # The definition of the experiment.
        "condition": "A String", # The condition defines which subset of sessions are selected for this experiment. If not specified, all sessions are eligible. E.g. "query_input.language_code=en" See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "versionVariants": { # A list of flow version variants. # The flow versions as the variants of this experiment.
          "variants": [ # A list of flow version variants.
            { # A single flow version with specified traffic allocation.
              "isControlGroup": True or False, # Whether the variant is for the control group.
              "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
              "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
            },
          ],
        },
      },
      "description": "A String", # The human-readable description of the experiment.
      "displayName": "A String", # Required. The human-readable name of the experiment (unique in an environment). Limit of 64 characters.
      "endTime": "A String", # End time of this experiment.
      "experimentLength": "A String", # Maximum number of days to run the experiment/rollout. If auto-rollout is not enabled, default value and maximum will be 30 days. If auto-rollout is enabled, default value and maximum will be 6 days.
      "lastUpdateTime": "A String", # Last update time of this experiment.
      "name": "A String", # The name of the experiment. Format: projects//locations//agents//environments//experiments/..
      "result": { # The inference result which includes an objective metric to optimize and the confidence interval. # Inference result of the experiment.
        "lastUpdateTime": "A String", # The last time the experiment's stats data was updated. Will have default value if stats have never been computed for this experiment.
        "versionMetrics": [ # Version variants and metrics.
          { # Version variant and associated metrics.
            "metrics": [ # The metrics and corresponding confidence intervals in the inference result.
              { # Metric and corresponding confidence intervals.
                "confidenceInterval": { # A confidence interval is a range of possible values for the experiment objective you are trying to measure. # The probability that the treatment is better than all other treatments in the experiment
                  "confidenceLevel": 3.14, # The confidence level used to construct the interval, i.e. there is X% chance that the true value is within this interval.
                  "lowerBound": 3.14, # Lower bound of the interval.
                  "ratio": 3.14, # The percent change between an experiment metric's value and the value for its control.
                  "upperBound": 3.14, # Upper bound of the interval.
                },
                "count": 3.14, # Count value of a metric.
                "countType": "A String", # Count-based metric type. Only one of type or count_type is specified in each Metric.
                "ratio": 3.14, # Ratio value of a metric.
                "type": "A String", # Ratio-based metric type. Only one of type or count_type is specified in each Metric.
              },
            ],
            "sessionCount": 42, # Number of sessions that were allocated to this version.
            "version": "A String", # The name of the flow Version. Format: `projects//locations//agents//flows//versions/`.
          },
        ],
      },
      "rolloutConfig": { # The configuration for auto rollout. # The configuration for auto rollout. If set, there should be exactly two variants in the experiment (control variant being the default version of the flow), the traffic allocation for the non-control variant will gradually increase to 100% when conditions are met, and eventually replace the control variant to become the default version of the flow.
        "failureCondition": "A String", # The conditions that are used to evaluate the failure of a rollout step. If not specified, no rollout steps will fail. E.g. "containment_rate < 10% OR average_turn_count < 3". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutCondition": "A String", # The conditions that are used to evaluate the success of a rollout step. If not specified, all rollout steps will proceed to the next one unless failure conditions are met. E.g. "containment_rate > 60% AND callback_rate < 20%". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutSteps": [ # Steps to roll out a flow version. Steps should be sorted by percentage in ascending order.
          { # A single rollout step with specified traffic allocation.
            "displayName": "A String", # The name of the rollout step;
            "minDuration": "A String", # The minimum time that this step should last. Should be longer than 1 hour. If not set, the default minimum duration for each step will be 1 hour.
            "trafficPercent": 42, # The percentage of traffic allocated to the flow version of this rollout step. (0%, 100%].
          },
        ],
      },
      "rolloutFailureReason": "A String", # The reason why rollout has failed. Should only be set when state is ROLLOUT_FAILED.
      "rolloutState": { # State of the auto-rollout process. # State of the auto rollout process.
        "startTime": "A String", # Start time of the current step.
        "step": "A String", # Display name of the current auto rollout step.
        "stepIndex": 42, # Index of the current step in the auto rollout steps list.
      },
      "startTime": "A String", # Start time of this experiment.
      "state": "A String", # The current state of the experiment. Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING. Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or RUNNING->DONE.
      "variantsHistory": [ # The history of updates to the experiment variants.
        { # The history of variants update.
          "updateTime": "A String", # Update time of the variants.
          "versionVariants": { # A list of flow version variants. # The flow versions as the variants.
            "variants": [ # A list of flow version variants.
              { # A single flow version with specified traffic allocation.
                "isControlGroup": True or False, # Whether the variant is for the control group.
                "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
                "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
              },
            ],
          },
        },
      ],
    }

`delete(name, x__xgafv=None)`

    Deletes the specified Experiment.

    Args:
      name: string, Required. The name of the Environment to delete. Format: `projects//locations//agents//environments//experiments/`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`.
    }

`get(name, x__xgafv=None)`

    Retrieves the specified Experiment.

    Args:
      name: string, Required. The name of the Environment. Format: `projects//locations//agents//environments//experiments/`. (required)
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents an experiment in an environment.
      "createTime": "A String", # Creation time of this experiment.
      "definition": { # Definition of the experiment. # The definition of the experiment.
        "condition": "A String", # The condition defines which subset of sessions are selected for this experiment. If not specified, all sessions are eligible. E.g. "query_input.language_code=en" See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "versionVariants": { # A list of flow version variants. # The flow versions as the variants of this experiment.
          "variants": [ # A list of flow version variants.
            { # A single flow version with specified traffic allocation.
              "isControlGroup": True or False, # Whether the variant is for the control group.
              "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
              "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
            },
          ],
        },
      },
      "description": "A String", # The human-readable description of the experiment.
      "displayName": "A String", # Required. The human-readable name of the experiment (unique in an environment). Limit of 64 characters.
      "endTime": "A String", # End time of this experiment.
      "experimentLength": "A String", # Maximum number of days to run the experiment/rollout. If auto-rollout is not enabled, default value and maximum will be 30 days. If auto-rollout is enabled, default value and maximum will be 6 days.
      "lastUpdateTime": "A String", # Last update time of this experiment.
      "name": "A String", # The name of the experiment. Format: projects//locations//agents//environments//experiments/..
      "result": { # The inference result which includes an objective metric to optimize and the confidence interval. # Inference result of the experiment.
        "lastUpdateTime": "A String", # The last time the experiment's stats data was updated. Will have default value if stats have never been computed for this experiment.
        "versionMetrics": [ # Version variants and metrics.
          { # Version variant and associated metrics.
            "metrics": [ # The metrics and corresponding confidence intervals in the inference result.
              { # Metric and corresponding confidence intervals.
                "confidenceInterval": { # A confidence interval is a range of possible values for the experiment objective you are trying to measure. # The probability that the treatment is better than all other treatments in the experiment
                  "confidenceLevel": 3.14, # The confidence level used to construct the interval, i.e. there is X% chance that the true value is within this interval.
                  "lowerBound": 3.14, # Lower bound of the interval.
                  "ratio": 3.14, # The percent change between an experiment metric's value and the value for its control.
                  "upperBound": 3.14, # Upper bound of the interval.
                },
                "count": 3.14, # Count value of a metric.
                "countType": "A String", # Count-based metric type. Only one of type or count_type is specified in each Metric.
                "ratio": 3.14, # Ratio value of a metric.
                "type": "A String", # Ratio-based metric type. Only one of type or count_type is specified in each Metric.
              },
            ],
            "sessionCount": 42, # Number of sessions that were allocated to this version.
            "version": "A String", # The name of the flow Version. Format: `projects//locations//agents//flows//versions/`.
          },
        ],
      },
      "rolloutConfig": { # The configuration for auto rollout. # The configuration for auto rollout. If set, there should be exactly two variants in the experiment (control variant being the default version of the flow), the traffic allocation for the non-control variant will gradually increase to 100% when conditions are met, and eventually replace the control variant to become the default version of the flow.
        "failureCondition": "A String", # The conditions that are used to evaluate the failure of a rollout step. If not specified, no rollout steps will fail. E.g. "containment_rate < 10% OR average_turn_count < 3". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutCondition": "A String", # The conditions that are used to evaluate the success of a rollout step. If not specified, all rollout steps will proceed to the next one unless failure conditions are met. E.g. "containment_rate > 60% AND callback_rate < 20%". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutSteps": [ # Steps to roll out a flow version. Steps should be sorted by percentage in ascending order.
          { # A single rollout step with specified traffic allocation.
            "displayName": "A String", # The name of the rollout step;
            "minDuration": "A String", # The minimum time that this step should last. Should be longer than 1 hour. If not set, the default minimum duration for each step will be 1 hour.
            "trafficPercent": 42, # The percentage of traffic allocated to the flow version of this rollout step. (0%, 100%].
          },
        ],
      },
      "rolloutFailureReason": "A String", # The reason why rollout has failed. Should only be set when state is ROLLOUT_FAILED.
      "rolloutState": { # State of the auto-rollout process. # State of the auto rollout process.
        "startTime": "A String", # Start time of the current step.
        "step": "A String", # Display name of the current auto rollout step.
        "stepIndex": 42, # Index of the current step in the auto rollout steps list.
      },
      "startTime": "A String", # Start time of this experiment.
      "state": "A String", # The current state of the experiment. Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING. Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or RUNNING->DONE.
      "variantsHistory": [ # The history of updates to the experiment variants.
        { # The history of variants update.
          "updateTime": "A String", # Update time of the variants.
          "versionVariants": { # A list of flow version variants. # The flow versions as the variants.
            "variants": [ # A list of flow version variants.
              { # A single flow version with specified traffic allocation.
                "isControlGroup": True or False, # Whether the variant is for the control group.
                "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
                "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
              },
            ],
          },
        },
      ],
    }

`list(parent, pageSize=None, pageToken=None, x__xgafv=None)`

    Returns the list of all experiments in the specified Environment.

    Args:
      parent: string, Required. The Environment to list all environments for. Format: `projects//locations//agents//environments/`. (required)
      pageSize: integer, The maximum number of items to return in a single page. By default 20 and at most 100.
      pageToken: string, The next_page_token value returned from a previous list request.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # The response message for Experiments.ListExperiments.
      "experiments": [ # The list of experiments. There will be a maximum number of items returned based on the page_size field in the request. The list may in some cases be empty or contain fewer entries than page_size even if this isn't the last page.
        { # Represents an experiment in an environment.
          "createTime": "A String", # Creation time of this experiment.
          "definition": { # Definition of the experiment. # The definition of the experiment.
            "condition": "A String", # The condition defines which subset of sessions are selected for this experiment. If not specified, all sessions are eligible. E.g. "query_input.language_code=en" See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
            "versionVariants": { # A list of flow version variants. # The flow versions as the variants of this experiment.
              "variants": [ # A list of flow version variants.
                { # A single flow version with specified traffic allocation.
                  "isControlGroup": True or False, # Whether the variant is for the control group.
                  "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
                  "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
                },
              ],
            },
          },
          "description": "A String", # The human-readable description of the experiment.
          "displayName": "A String", # Required. The human-readable name of the experiment (unique in an environment). Limit of 64 characters.
          "endTime": "A String", # End time of this experiment.
          "experimentLength": "A String", # Maximum number of days to run the experiment/rollout. If auto-rollout is not enabled, default value and maximum will be 30 days. If auto-rollout is enabled, default value and maximum will be 6 days.
          "lastUpdateTime": "A String", # Last update time of this experiment.
          "name": "A String", # The name of the experiment. Format: projects//locations//agents//environments//experiments/..
          "result": { # The inference result which includes an objective metric to optimize and the confidence interval. # Inference result of the experiment.
            "lastUpdateTime": "A String", # The last time the experiment's stats data was updated. Will have default value if stats have never been computed for this experiment.
            "versionMetrics": [ # Version variants and metrics.
              { # Version variant and associated metrics.
                "metrics": [ # The metrics and corresponding confidence intervals in the inference result.
                  { # Metric and corresponding confidence intervals.
                    "confidenceInterval": { # A confidence interval is a range of possible values for the experiment objective you are trying to measure. # The probability that the treatment is better than all other treatments in the experiment
                      "confidenceLevel": 3.14, # The confidence level used to construct the interval, i.e. there is X% chance that the true value is within this interval.
                      "lowerBound": 3.14, # Lower bound of the interval.
                      "ratio": 3.14, # The percent change between an experiment metric's value and the value for its control.
                      "upperBound": 3.14, # Upper bound of the interval.
                    },
                    "count": 3.14, # Count value of a metric.
                    "countType": "A String", # Count-based metric type. Only one of type or count_type is specified in each Metric.
                    "ratio": 3.14, # Ratio value of a metric.
                    "type": "A String", # Ratio-based metric type. Only one of type or count_type is specified in each Metric.
                  },
                ],
                "sessionCount": 42, # Number of sessions that were allocated to this version.
                "version": "A String", # The name of the flow Version. Format: `projects//locations//agents//flows//versions/`.
              },
            ],
          },
          "rolloutConfig": { # The configuration for auto rollout. # The configuration for auto rollout. If set, there should be exactly two variants in the experiment (control variant being the default version of the flow), the traffic allocation for the non-control variant will gradually increase to 100% when conditions are met, and eventually replace the control variant to become the default version of the flow.
            "failureCondition": "A String", # The conditions that are used to evaluate the failure of a rollout step. If not specified, no rollout steps will fail. E.g. "containment_rate < 10% OR average_turn_count < 3". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
            "rolloutCondition": "A String", # The conditions that are used to evaluate the success of a rollout step. If not specified, all rollout steps will proceed to the next one unless failure conditions are met. E.g. "containment_rate > 60% AND callback_rate < 20%". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
            "rolloutSteps": [ # Steps to roll out a flow version. Steps should be sorted by percentage in ascending order.
              { # A single rollout step with specified traffic allocation.
                "displayName": "A String", # The name of the rollout step;
                "minDuration": "A String", # The minimum time that this step should last. Should be longer than 1 hour. If not set, the default minimum duration for each step will be 1 hour.
                "trafficPercent": 42, # The percentage of traffic allocated to the flow version of this rollout step. (0%, 100%].
              },
            ],
          },
          "rolloutFailureReason": "A String", # The reason why rollout has failed. Should only be set when state is ROLLOUT_FAILED.
          "rolloutState": { # State of the auto-rollout process. # State of the auto rollout process.
            "startTime": "A String", # Start time of the current step.
            "step": "A String", # Display name of the current auto rollout step.
            "stepIndex": 42, # Index of the current step in the auto rollout steps list.
          },
          "startTime": "A String", # Start time of this experiment.
          "state": "A String", # The current state of the experiment. Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING. Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or RUNNING->DONE.
          "variantsHistory": [ # The history of updates to the experiment variants.
            { # The history of variants update.
              "updateTime": "A String", # Update time of the variants.
              "versionVariants": { # A list of flow version variants. # The flow versions as the variants.
                "variants": [ # A list of flow version variants.
                  { # A single flow version with specified traffic allocation.
                    "isControlGroup": True or False, # Whether the variant is for the control group.
                    "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
                    "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
                  },
                ],
              },
            },
          ],
        },
      ],
      "nextPageToken": "A String", # Token to retrieve the next page of results, or empty if there are no more results in the list.
    }

`list_next(previous_request, previous_response)`

    Retrieves the next page of results.

    Args:
      previous_request: The request for the previous page. (required)
      previous_response: The response from the request for the previous page. (required)

    Returns:
      A request object that you can call 'execute()' on to request the next
      page. Returns None if there are no more items in the collection.

`patch(name, body=None, updateMask=None, x__xgafv=None)`

    Updates the specified Experiment.

    Args:
      name: string, The name of the experiment. Format: projects//locations//agents//environments//experiments/.. (required)
      body: object, The request body.
        The object takes the form of:

    { # Represents an experiment in an environment.
      "createTime": "A String", # Creation time of this experiment.
      "definition": { # Definition of the experiment. # The definition of the experiment.
        "condition": "A String", # The condition defines which subset of sessions are selected for this experiment. If not specified, all sessions are eligible. E.g. "query_input.language_code=en" See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "versionVariants": { # A list of flow version variants. # The flow versions as the variants of this experiment.
          "variants": [ # A list of flow version variants.
            { # A single flow version with specified traffic allocation.
              "isControlGroup": True or False, # Whether the variant is for the control group.
              "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
              "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
            },
          ],
        },
      },
      "description": "A String", # The human-readable description of the experiment.
      "displayName": "A String", # Required. The human-readable name of the experiment (unique in an environment). Limit of 64 characters.
      "endTime": "A String", # End time of this experiment.
      "experimentLength": "A String", # Maximum number of days to run the experiment/rollout. If auto-rollout is not enabled, default value and maximum will be 30 days. If auto-rollout is enabled, default value and maximum will be 6 days.
      "lastUpdateTime": "A String", # Last update time of this experiment.
      "name": "A String", # The name of the experiment. Format: projects//locations//agents//environments//experiments/..
      "result": { # The inference result which includes an objective metric to optimize and the confidence interval. # Inference result of the experiment.
        "lastUpdateTime": "A String", # The last time the experiment's stats data was updated. Will have default value if stats have never been computed for this experiment.
        "versionMetrics": [ # Version variants and metrics.
          { # Version variant and associated metrics.
            "metrics": [ # The metrics and corresponding confidence intervals in the inference result.
              { # Metric and corresponding confidence intervals.
                "confidenceInterval": { # A confidence interval is a range of possible values for the experiment objective you are trying to measure. # The probability that the treatment is better than all other treatments in the experiment
                  "confidenceLevel": 3.14, # The confidence level used to construct the interval, i.e. there is X% chance that the true value is within this interval.
                  "lowerBound": 3.14, # Lower bound of the interval.
                  "ratio": 3.14, # The percent change between an experiment metric's value and the value for its control.
                  "upperBound": 3.14, # Upper bound of the interval.
                },
                "count": 3.14, # Count value of a metric.
                "countType": "A String", # Count-based metric type. Only one of type or count_type is specified in each Metric.
                "ratio": 3.14, # Ratio value of a metric.
                "type": "A String", # Ratio-based metric type. Only one of type or count_type is specified in each Metric.
              },
            ],
            "sessionCount": 42, # Number of sessions that were allocated to this version.
            "version": "A String", # The name of the flow Version. Format: `projects//locations//agents//flows//versions/`.
          },
        ],
      },
      "rolloutConfig": { # The configuration for auto rollout. # The configuration for auto rollout. If set, there should be exactly two variants in the experiment (control variant being the default version of the flow), the traffic allocation for the non-control variant will gradually increase to 100% when conditions are met, and eventually replace the control variant to become the default version of the flow.
        "failureCondition": "A String", # The conditions that are used to evaluate the failure of a rollout step. If not specified, no rollout steps will fail. E.g. "containment_rate < 10% OR average_turn_count < 3". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutCondition": "A String", # The conditions that are used to evaluate the success of a rollout step. If not specified, all rollout steps will proceed to the next one unless failure conditions are met. E.g. "containment_rate > 60% AND callback_rate < 20%". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutSteps": [ # Steps to roll out a flow version. Steps should be sorted by percentage in ascending order.
          { # A single rollout step with specified traffic allocation.
            "displayName": "A String", # The name of the rollout step;
            "minDuration": "A String", # The minimum time that this step should last. Should be longer than 1 hour. If not set, the default minimum duration for each step will be 1 hour.
            "trafficPercent": 42, # The percentage of traffic allocated to the flow version of this rollout step. (0%, 100%].
          },
        ],
      },
      "rolloutFailureReason": "A String", # The reason why rollout has failed. Should only be set when state is ROLLOUT_FAILED.
      "rolloutState": { # State of the auto-rollout process. # State of the auto rollout process.
        "startTime": "A String", # Start time of the current step.
        "step": "A String", # Display name of the current auto rollout step.
        "stepIndex": 42, # Index of the current step in the auto rollout steps list.
      },
      "startTime": "A String", # Start time of this experiment.
      "state": "A String", # The current state of the experiment. Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING. Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or RUNNING->DONE.
      "variantsHistory": [ # The history of updates to the experiment variants.
        { # The history of variants update.
          "updateTime": "A String", # Update time of the variants.
          "versionVariants": { # A list of flow version variants. # The flow versions as the variants.
            "variants": [ # A list of flow version variants.
              { # A single flow version with specified traffic allocation.
                "isControlGroup": True or False, # Whether the variant is for the control group.
                "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
                "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
              },
            ],
          },
        },
      ],
    }

      updateMask: string, Required. The mask to control which fields get updated.
      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents an experiment in an environment.
      "createTime": "A String", # Creation time of this experiment.
      "definition": { # Definition of the experiment. # The definition of the experiment.
        "condition": "A String", # The condition defines which subset of sessions are selected for this experiment. If not specified, all sessions are eligible. E.g. "query_input.language_code=en" See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "versionVariants": { # A list of flow version variants. # The flow versions as the variants of this experiment.
          "variants": [ # A list of flow version variants.
            { # A single flow version with specified traffic allocation.
              "isControlGroup": True or False, # Whether the variant is for the control group.
              "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
              "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
            },
          ],
        },
      },
      "description": "A String", # The human-readable description of the experiment.
      "displayName": "A String", # Required. The human-readable name of the experiment (unique in an environment). Limit of 64 characters.
      "endTime": "A String", # End time of this experiment.
      "experimentLength": "A String", # Maximum number of days to run the experiment/rollout. If auto-rollout is not enabled, default value and maximum will be 30 days. If auto-rollout is enabled, default value and maximum will be 6 days.
      "lastUpdateTime": "A String", # Last update time of this experiment.
      "name": "A String", # The name of the experiment. Format: projects//locations//agents//environments//experiments/..
      "result": { # The inference result which includes an objective metric to optimize and the confidence interval. # Inference result of the experiment.
        "lastUpdateTime": "A String", # The last time the experiment's stats data was updated. Will have default value if stats have never been computed for this experiment.
        "versionMetrics": [ # Version variants and metrics.
          { # Version variant and associated metrics.
            "metrics": [ # The metrics and corresponding confidence intervals in the inference result.
              { # Metric and corresponding confidence intervals.
                "confidenceInterval": { # A confidence interval is a range of possible values for the experiment objective you are trying to measure. # The probability that the treatment is better than all other treatments in the experiment
                  "confidenceLevel": 3.14, # The confidence level used to construct the interval, i.e. there is X% chance that the true value is within this interval.
                  "lowerBound": 3.14, # Lower bound of the interval.
                  "ratio": 3.14, # The percent change between an experiment metric's value and the value for its control.
                  "upperBound": 3.14, # Upper bound of the interval.
                },
                "count": 3.14, # Count value of a metric.
                "countType": "A String", # Count-based metric type. Only one of type or count_type is specified in each Metric.
                "ratio": 3.14, # Ratio value of a metric.
                "type": "A String", # Ratio-based metric type. Only one of type or count_type is specified in each Metric.
              },
            ],
            "sessionCount": 42, # Number of sessions that were allocated to this version.
            "version": "A String", # The name of the flow Version. Format: `projects//locations//agents//flows//versions/`.
          },
        ],
      },
      "rolloutConfig": { # The configuration for auto rollout. # The configuration for auto rollout. If set, there should be exactly two variants in the experiment (control variant being the default version of the flow), the traffic allocation for the non-control variant will gradually increase to 100% when conditions are met, and eventually replace the control variant to become the default version of the flow.
        "failureCondition": "A String", # The conditions that are used to evaluate the failure of a rollout step. If not specified, no rollout steps will fail. E.g. "containment_rate < 10% OR average_turn_count < 3". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutCondition": "A String", # The conditions that are used to evaluate the success of a rollout step. If not specified, all rollout steps will proceed to the next one unless failure conditions are met. E.g. "containment_rate > 60% AND callback_rate < 20%". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutSteps": [ # Steps to roll out a flow version. Steps should be sorted by percentage in ascending order.
          { # A single rollout step with specified traffic allocation.
            "displayName": "A String", # The name of the rollout step;
            "minDuration": "A String", # The minimum time that this step should last. Should be longer than 1 hour. If not set, the default minimum duration for each step will be 1 hour.
            "trafficPercent": 42, # The percentage of traffic allocated to the flow version of this rollout step. (0%, 100%].
          },
        ],
      },
      "rolloutFailureReason": "A String", # The reason why rollout has failed. Should only be set when state is ROLLOUT_FAILED.
      "rolloutState": { # State of the auto-rollout process. # State of the auto rollout process.
        "startTime": "A String", # Start time of the current step.
        "step": "A String", # Display name of the current auto rollout step.
        "stepIndex": 42, # Index of the current step in the auto rollout steps list.
      },
      "startTime": "A String", # Start time of this experiment.
      "state": "A String", # The current state of the experiment. Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING. Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or RUNNING->DONE.
      "variantsHistory": [ # The history of updates to the experiment variants.
        { # The history of variants update.
          "updateTime": "A String", # Update time of the variants.
          "versionVariants": { # A list of flow version variants. # The flow versions as the variants.
            "variants": [ # A list of flow version variants.
              { # A single flow version with specified traffic allocation.
                "isControlGroup": True or False, # Whether the variant is for the control group.
                "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
                "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
              },
            ],
          },
        },
      ],
    }

`start(name, body=None, x__xgafv=None)`

    Starts the specified Experiment. This rpc only changes the state of experiment from PENDING to RUNNING.

    Args:
      name: string, Required. Resource name of the experiment to start. Format: `projects//locations//agents//environments//experiments/`. (required)
      body: object, The request body.
        The object takes the form of:

    { # The request message for Experiments.StartExperiment.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents an experiment in an environment.
      "createTime": "A String", # Creation time of this experiment.
      "definition": { # Definition of the experiment. # The definition of the experiment.
        "condition": "A String", # The condition defines which subset of sessions are selected for this experiment. If not specified, all sessions are eligible. E.g. "query_input.language_code=en" See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "versionVariants": { # A list of flow version variants. # The flow versions as the variants of this experiment.
          "variants": [ # A list of flow version variants.
            { # A single flow version with specified traffic allocation.
              "isControlGroup": True or False, # Whether the variant is for the control group.
              "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
              "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
            },
          ],
        },
      },
      "description": "A String", # The human-readable description of the experiment.
      "displayName": "A String", # Required. The human-readable name of the experiment (unique in an environment). Limit of 64 characters.
      "endTime": "A String", # End time of this experiment.
      "experimentLength": "A String", # Maximum number of days to run the experiment/rollout. If auto-rollout is not enabled, default value and maximum will be 30 days. If auto-rollout is enabled, default value and maximum will be 6 days.
      "lastUpdateTime": "A String", # Last update time of this experiment.
      "name": "A String", # The name of the experiment. Format: projects//locations//agents//environments//experiments/..
      "result": { # The inference result which includes an objective metric to optimize and the confidence interval. # Inference result of the experiment.
        "lastUpdateTime": "A String", # The last time the experiment's stats data was updated. Will have default value if stats have never been computed for this experiment.
        "versionMetrics": [ # Version variants and metrics.
          { # Version variant and associated metrics.
            "metrics": [ # The metrics and corresponding confidence intervals in the inference result.
              { # Metric and corresponding confidence intervals.
                "confidenceInterval": { # A confidence interval is a range of possible values for the experiment objective you are trying to measure. # The probability that the treatment is better than all other treatments in the experiment
                  "confidenceLevel": 3.14, # The confidence level used to construct the interval, i.e. there is X% chance that the true value is within this interval.
                  "lowerBound": 3.14, # Lower bound of the interval.
                  "ratio": 3.14, # The percent change between an experiment metric's value and the value for its control.
                  "upperBound": 3.14, # Upper bound of the interval.
                },
                "count": 3.14, # Count value of a metric.
                "countType": "A String", # Count-based metric type. Only one of type or count_type is specified in each Metric.
                "ratio": 3.14, # Ratio value of a metric.
                "type": "A String", # Ratio-based metric type. Only one of type or count_type is specified in each Metric.
              },
            ],
            "sessionCount": 42, # Number of sessions that were allocated to this version.
            "version": "A String", # The name of the flow Version. Format: `projects//locations//agents//flows//versions/`.
          },
        ],
      },
      "rolloutConfig": { # The configuration for auto rollout. # The configuration for auto rollout. If set, there should be exactly two variants in the experiment (control variant being the default version of the flow), the traffic allocation for the non-control variant will gradually increase to 100% when conditions are met, and eventually replace the control variant to become the default version of the flow.
        "failureCondition": "A String", # The conditions that are used to evaluate the failure of a rollout step. If not specified, no rollout steps will fail. E.g. "containment_rate < 10% OR average_turn_count < 3". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutCondition": "A String", # The conditions that are used to evaluate the success of a rollout step. If not specified, all rollout steps will proceed to the next one unless failure conditions are met. E.g. "containment_rate > 60% AND callback_rate < 20%". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutSteps": [ # Steps to roll out a flow version. Steps should be sorted by percentage in ascending order.
          { # A single rollout step with specified traffic allocation.
            "displayName": "A String", # The name of the rollout step;
            "minDuration": "A String", # The minimum time that this step should last. Should be longer than 1 hour. If not set, the default minimum duration for each step will be 1 hour.
            "trafficPercent": 42, # The percentage of traffic allocated to the flow version of this rollout step. (0%, 100%].
          },
        ],
      },
      "rolloutFailureReason": "A String", # The reason why rollout has failed. Should only be set when state is ROLLOUT_FAILED.
      "rolloutState": { # State of the auto-rollout process. # State of the auto rollout process.
        "startTime": "A String", # Start time of the current step.
        "step": "A String", # Display name of the current auto rollout step.
        "stepIndex": 42, # Index of the current step in the auto rollout steps list.
      },
      "startTime": "A String", # Start time of this experiment.
      "state": "A String", # The current state of the experiment. Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING. Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or RUNNING->DONE.
      "variantsHistory": [ # The history of updates to the experiment variants.
        { # The history of variants update.
          "updateTime": "A String", # Update time of the variants.
          "versionVariants": { # A list of flow version variants. # The flow versions as the variants.
            "variants": [ # A list of flow version variants.
              { # A single flow version with specified traffic allocation.
                "isControlGroup": True or False, # Whether the variant is for the control group.
                "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
                "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
              },
            ],
          },
        },
      ],
    }

`stop(name, body=None, x__xgafv=None)`

    Stops the specified Experiment. This rpc only changes the state of experiment from RUNNING to DONE.

    Args:
      name: string, Required. Resource name of the experiment to stop. Format: `projects//locations//agents//environments//experiments/`. (required)
      body: object, The request body.
        The object takes the form of:

    { # The request message for Experiments.StopExperiment.
    }

      x__xgafv: string, V1 error format.
        Allowed values
          1 - v1 error format
          2 - v2 error format

    Returns:
      An object of the form:

        { # Represents an experiment in an environment.
      "createTime": "A String", # Creation time of this experiment.
      "definition": { # Definition of the experiment. # The definition of the experiment.
        "condition": "A String", # The condition defines which subset of sessions are selected for this experiment. If not specified, all sessions are eligible. E.g. "query_input.language_code=en" See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "versionVariants": { # A list of flow version variants. # The flow versions as the variants of this experiment.
          "variants": [ # A list of flow version variants.
            { # A single flow version with specified traffic allocation.
              "isControlGroup": True or False, # Whether the variant is for the control group.
              "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
              "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
            },
          ],
        },
      },
      "description": "A String", # The human-readable description of the experiment.
      "displayName": "A String", # Required. The human-readable name of the experiment (unique in an environment). Limit of 64 characters.
      "endTime": "A String", # End time of this experiment.
      "experimentLength": "A String", # Maximum number of days to run the experiment/rollout. If auto-rollout is not enabled, default value and maximum will be 30 days. If auto-rollout is enabled, default value and maximum will be 6 days.
      "lastUpdateTime": "A String", # Last update time of this experiment.
      "name": "A String", # The name of the experiment. Format: projects//locations//agents//environments//experiments/..
      "result": { # The inference result which includes an objective metric to optimize and the confidence interval. # Inference result of the experiment.
        "lastUpdateTime": "A String", # The last time the experiment's stats data was updated. Will have default value if stats have never been computed for this experiment.
        "versionMetrics": [ # Version variants and metrics.
          { # Version variant and associated metrics.
            "metrics": [ # The metrics and corresponding confidence intervals in the inference result.
              { # Metric and corresponding confidence intervals.
                "confidenceInterval": { # A confidence interval is a range of possible values for the experiment objective you are trying to measure. # The probability that the treatment is better than all other treatments in the experiment
                  "confidenceLevel": 3.14, # The confidence level used to construct the interval, i.e. there is X% chance that the true value is within this interval.
                  "lowerBound": 3.14, # Lower bound of the interval.
                  "ratio": 3.14, # The percent change between an experiment metric's value and the value for its control.
                  "upperBound": 3.14, # Upper bound of the interval.
                },
                "count": 3.14, # Count value of a metric.
                "countType": "A String", # Count-based metric type. Only one of type or count_type is specified in each Metric.
                "ratio": 3.14, # Ratio value of a metric.
                "type": "A String", # Ratio-based metric type. Only one of type or count_type is specified in each Metric.
              },
            ],
            "sessionCount": 42, # Number of sessions that were allocated to this version.
            "version": "A String", # The name of the flow Version. Format: `projects//locations//agents//flows//versions/`.
          },
        ],
      },
      "rolloutConfig": { # The configuration for auto rollout. # The configuration for auto rollout. If set, there should be exactly two variants in the experiment (control variant being the default version of the flow), the traffic allocation for the non-control variant will gradually increase to 100% when conditions are met, and eventually replace the control variant to become the default version of the flow.
        "failureCondition": "A String", # The conditions that are used to evaluate the failure of a rollout step. If not specified, no rollout steps will fail. E.g. "containment_rate < 10% OR average_turn_count < 3". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutCondition": "A String", # The conditions that are used to evaluate the success of a rollout step. If not specified, all rollout steps will proceed to the next one unless failure conditions are met. E.g. "containment_rate > 60% AND callback_rate < 20%". See the [conditions reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
        "rolloutSteps": [ # Steps to roll out a flow version. Steps should be sorted by percentage in ascending order.
          { # A single rollout step with specified traffic allocation.
            "displayName": "A String", # The name of the rollout step;
            "minDuration": "A String", # The minimum time that this step should last. Should be longer than 1 hour. If not set, the default minimum duration for each step will be 1 hour.
            "trafficPercent": 42, # The percentage of traffic allocated to the flow version of this rollout step. (0%, 100%].
          },
        ],
      },
      "rolloutFailureReason": "A String", # The reason why rollout has failed. Should only be set when state is ROLLOUT_FAILED.
      "rolloutState": { # State of the auto-rollout process. # State of the auto rollout process.
        "startTime": "A String", # Start time of the current step.
        "step": "A String", # Display name of the current auto rollout step.
        "stepIndex": 42, # Index of the current step in the auto rollout steps list.
      },
      "startTime": "A String", # Start time of this experiment.
      "state": "A String", # The current state of the experiment. Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING. Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or RUNNING->DONE.
      "variantsHistory": [ # The history of updates to the experiment variants.
        { # The history of variants update.
          "updateTime": "A String", # Update time of the variants.
          "versionVariants": { # A list of flow version variants. # The flow versions as the variants.
            "variants": [ # A list of flow version variants.
              { # A single flow version with specified traffic allocation.
                "isControlGroup": True or False, # Whether the variant is for the control group.
                "trafficAllocation": 3.14, # Percentage of the traffic which should be routed to this version of flow. Traffic allocation for a single flow must sum up to 1.0.
                "version": "A String", # The name of the flow version. Format: `projects//locations//agents//flows//versions/`.
              },
            ],
          },
        },
      ],
    }