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

# Create Abtest

> Creates a new Abtest.



## OpenAPI

````yaml /api/experiments/abtest.openapi.json post /v1/workflows/abtest
openapi: 3.1.0
info:
  title: Confidence Abtest API
  version: 1.0.0
  description: API documentation for abtest
servers: []
security: []
paths:
  /v1/workflows/abtest:
    post:
      summary: Create Abtest
      description: Creates a new Abtest.
      operationId: Abtest.create
      parameters:
        - name: abtestId
          in: query
          required: false
          description: >-
            Optional ID to use for the abtest, will be autogenerated if not
            provided.
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                name:
                  type: string
                  description: >-
                    Unique id of the instance for example
                    `workflows/abtest/instances/vxpoqirnwawxzasv4tuu`.
                displayName:
                  type: string
                  description: Human-friendly name of this instance.
                owner:
                  type: string
                  description: >-
                    The owner of the resource. If not set will default to the
                    creator.
                jobQueue:
                  type: object
                  properties:
                    isEnabled:
                      type: boolean
                    items:
                      type: array
                      items:
                        type: object
                        properties:
                          key:
                            type: string
                          func:
                            type: string
                          runTime:
                            type: object
                          parameters:
                            type: object
                          isActive:
                            type: boolean
                        required:
                          - key
                          - func
                          - runTime
                          - isActive
                  required:
                    - isEnabled
                workflowVersion:
                  type: string
                  description: Version of the workflow that this instance is running.
                surfaces:
                  type: array
                  items:
                    type: string
                  description: A set of surfaces that this workflow instance belongs to.
                labels:
                  type: array
                  items:
                    type: object
                    additionalProperties:
                      type: string
                  description: Generic labels for the workflow instance.
                abtest:
                  $ref: >-
                    #/components/schemas/confidence.experiments.abtest.v1.Abtest.AbTestData
                  description: >-
                    [Abtest.AbTestData](/api-reference/schemas/abtest-abtestdata):
                    Module data for abtest
                decision:
                  $ref: >-
                    #/components/schemas/confidence.experiments.abtest.v1.Abtest.DecisionRecordData
                  description: >-
                    [Abtest.DecisionRecordData](/api-reference/schemas/abtest-decisionrecorddata):
                    Module data for decision
                explore:
                  $ref: >-
                    #/components/schemas/confidence.experiments.abtest.v1.Abtest.ExploreData
                  description: >-
                    [Abtest.ExploreData](/api-reference/schemas/abtest-exploredata):
                    Module data for explore
                exposure:
                  $ref: >-
                    #/components/schemas/confidence.experiments.abtest.v1.Abtest.ExposureData
                  description: >-
                    [Abtest.ExposureData](/api-reference/schemas/abtest-exposuredata):
                    Module data for exposure
                flags:
                  $ref: >-
                    #/components/schemas/confidence.experiments.abtest.v1.Abtest.FlagsData
                  description: >-
                    [Abtest.FlagsData](/api-reference/schemas/abtest-flagsdata):
                    Module data for flags
                hypothesis:
                  $ref: >-
                    #/components/schemas/confidence.experiments.abtest.v1.Abtest.HypothesisData
                  description: >-
                    [Abtest.HypothesisData](/api-reference/schemas/abtest-hypothesisdata):
                    Module data for hypothesis
                metrics:
                  $ref: >-
                    #/components/schemas/confidence.experiments.abtest.v1.Abtest.MetricsData
                  description: >-
                    [Abtest.MetricsData](/api-reference/schemas/abtest-metricsdata):
                    Module data for metrics
                planning:
                  $ref: >-
                    #/components/schemas/confidence.experiments.abtest.v1.Abtest.PlanningData
                  description: >-
                    [Abtest.PlanningData](/api-reference/schemas/abtest-planningdata):
                    Module data for planning
                report:
                  $ref: >-
                    #/components/schemas/confidence.experiments.abtest.v1.Abtest.ReportData
                  description: >-
                    [Abtest.ReportData](/api-reference/schemas/abtest-reportdata):
                    Module data for report
                reviews:
                  $ref: >-
                    #/components/schemas/confidence.experiments.abtest.v1.Abtest.ReviewsData
                  description: >-
                    [Abtest.ReviewsData](/api-reference/schemas/abtest-reviewsdata):
                    Module data for reviews
                samplesize:
                  $ref: >-
                    #/components/schemas/confidence.experiments.abtest.v1.Abtest.SampleSizeData
                  description: >-
                    [Abtest.SampleSizeData](/api-reference/schemas/abtest-samplesizedata):
                    Module data for samplesize
                stats:
                  $ref: >-
                    #/components/schemas/confidence.experiments.abtest.v1.Abtest.StatsData
                  description: >-
                    [Abtest.StatsData](/api-reference/schemas/abtest-statsdata):
                    Module data for stats
              required:
                - displayName
        required: true
      responses:
        '200':
          description: Returns a [Abtest](/api-reference/schemas/abtest).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/confidence.experiments.abtest.v1.Abtest'
      security:
        - admin: []
      servers:
        - url: https://experiments.confidence.dev
        - url: https://experiments.eu.confidence.dev
        - url: https://experiments.us.confidence.dev
components:
  schemas:
    confidence.experiments.abtest.v1.Abtest.AbTestData:
      title: Abtest.AbTestData
      type: object
      description: Module data for abtest
      properties:
        flag:
          type: string
        rollout:
          type: string
        treatments:
          type: array
          items:
            type: object
            properties:
              description:
                type: string
              displayName:
                type: string
              imageUri:
                type: string
              name:
                type: string
              variant:
                type: string
              weight:
                type: integer
            required:
              - variant
              - weight
    confidence.experiments.abtest.v1.Abtest.DecisionRecordData:
      title: Abtest.DecisionRecordData
      type: object
      description: Module data for decision
      properties:
        conclusion:
          type: string
          description: The decision conclusion
        outcome:
          type: string
          enum:
            - OUTCOME_UNSPECIFIED
            - shipped
            - abandoned
            - aborted
            - restarted
          description: The decision outcome
        treatment:
          type: string
          description: The selected treatment
    confidence.experiments.abtest.v1.Abtest.ExploreData:
      title: Abtest.ExploreData
      type: object
      description: Module data for explore
      properties:
        exploratoryAnalyses:
          type: array
          items:
            type: object
            properties:
              analysisResults:
                type: array
                items:
                  type: object
                  properties:
                    analysisResult:
                      type: string
                      description: A resource name on the format analysisResults/abc
                    exposureFilterName:
                      type: string
                      description: The exposure filter name
                  required:
                    - analysisResult
                description: Analysis results
              conclusion:
                type: object
                properties:
                  text:
                    type: string
                    description: The conclusion text
                  updateTime:
                    type: string
                    description: The update time
                required:
                  - text
                  - updateTime
                description: The conclusion
              createTime:
                type: string
                description: The create time
              createdBy:
                type: string
                description: A resource name on the format users/abc
              endTime:
                type: string
                description: The end time of the analysis time window
              id:
                type: string
                description: The analysis id
              labels:
                type: array
                items:
                  type: object
                  properties:
                    key:
                      type: string
                      description: The label key
                    value:
                      type: string
                      description: The label value
                  required:
                    - key
                    - value
                description: Labels
              messages:
                type: array
                items:
                  type: string
                description: Messages
              metrics:
                type: array
                items:
                  type: object
                  properties:
                    calculation:
                      type: string
                      description: >-
                        A resource name on the format
                        scheduledMetricCalculations/abc/metricCalculations/def
                    dimensions:
                      type: array
                      items:
                        type: object
                        properties:
                          column:
                            type: string
                            description: The column name
                          dimensionTable:
                            type: string
                            description: A resource name on the format dimensionTables/abc
                          factTable:
                            type: string
                            description: A resource name on the format factTables/abc
                        required:
                          - column
                      description: The dimensions for the metric
                    name:
                      type: string
                      description: A resource name on the format metrics/abc
                    scheduledCalculation:
                      type: string
                      description: >-
                        A resource name on the format
                        scheduledMetricCalculations/abc
                  required:
                    - dimensions
                    - name
                description: The metrics to analyze
              name:
                type: string
                description: The analysis name
              splitByExposureFilters:
                type: boolean
                description: Whether to split by exposure filters
              startTime:
                type: string
                description: The start time of the analysis time window
              state:
                type: string
                enum:
                  - STATE_UNSPECIFIED
                  - EMPTY
                  - CALCULATING
                  - DONE
                  - ERROR
                  - STALE
                description: The analysis state
              updateTime:
                type: string
                description: The update time
              useCustomDateRange:
                type: boolean
                description: Whether the analysis uses a custom date range
              useScheduledCalculation:
                type: boolean
                description: Use scheduled calculations instead of one-time calculations
            required:
              - createTime
              - id
              - messages
              - metrics
              - name
              - state
              - updateTime
          description: The list of exploratory analyses
      required:
        - exploratoryAnalyses
    confidence.experiments.abtest.v1.Abtest.ExposureData:
      title: Abtest.ExposureData
      type: object
      description: Module data for exposure
      properties:
        exposure:
          type: array
          items:
            type: object
            properties:
              exposureFilter:
                type: string
                description: The exposure filter name
              totalExposureCount:
                type: integer
                description: Total exposure count
              treatment:
                type: string
                description: The treatment identifier
            required:
              - totalExposureCount
              - treatment
          description: Exposure entries
      required:
        - exposure
    confidence.experiments.abtest.v1.Abtest.FlagsData:
      title: Abtest.FlagsData
      type: object
      description: Module data for flags
      properties:
        audiences:
          type: array
          items:
            type: object
            properties:
              displayName:
                type: string
                description: The audience display name
              id:
                type: string
                description: The audience id
              intakePaused:
                type: boolean
                description: Whether intake is paused for this audience
              launchTime:
                type: string
                description: The time when the audience was launched
              materialization:
                type: string
                description: A resource name on the format materializedSegments/abc
              rule:
                type: string
                description: A resource name on the format flags/abc/rules/def
              segment:
                type: string
                description: A resource name on the format segments/abc
              stopTime:
                type: string
                description: The time when the audience was stopped
            required:
              - id
          description: The list of audiences for this workflow
        flag:
          type: string
          description: A resource name on the format flags/abc
        ignoreTargetingForSticky:
          type: boolean
          description: Whether to ignore targeting for sticky assignments
        intakePaused:
          type: boolean
          description: Whether intake is paused
        materialization:
          type: string
          description: A resource name on the format materializedSegments/abc
        rule:
          type: string
          description: A resource name on the format rules/abc
        segment:
          type: string
          description: A resource name on the format segments/abc
        stickyAssignments:
          type: boolean
          description: Whether to use sticky assignments
        targetingKeySelector:
          type: string
          description: The targeting key selector for user assignment
    confidence.experiments.abtest.v1.Abtest.HypothesisData:
      title: Abtest.HypothesisData
      type: object
      description: Module data for hypothesis
      properties:
        text:
          type: string
          description: The hypothesis text
    confidence.experiments.abtest.v1.Abtest.MetricsData:
      title: Abtest.MetricsData
      type: object
      description: Module data for metrics
      properties:
        assignmentTable:
          type: string
          description: A resource name on the format assignmentTables/abc
        bucket:
          type: string
          enum:
            - BUCKET_UNSPECIFIED
            - BUCKETING_TEMPORAL_UNIT_UNSPECIFIED
            - HOURS
            - DAYS
          description: The bucketing temporal unit for metric collection
        entity:
          type: string
          description: A resource name on the format entities/abc
        exposureCalculation:
          type: string
          description: A resource name on the format exposureCalculations/abc
        exposureFilter:
          type: object
          properties:
            displayName:
              type: string
              description: Display name for the exposure filter
            factTable:
              type: string
              description: A resource name on the format factTables/abc
            filter:
              type: object
              properties:
                criteria:
                  type: array
                  items:
                    type: object
                    additionalProperties:
                      type: object
                      properties:
                        attribute:
                          type: object
                          properties:
                            attribute:
                              type: string
                              description: The name of the attribute
                            eqRule:
                              type: object
                              properties:
                                value:
                                  type: object
                                  properties:
                                    boolValue:
                                      type: boolean
                                    numberValue:
                                      type: number
                                    stringValue:
                                      type: string
                                    timestampValue:
                                      type: object
                                    nullValue:
                                      type: object
                                      properties:
                                        dummyField:
                                          type: string
                                          description: Dummy field to make the type not empty
                                  description: |-
                                    equality (==, !=, ∈) defined for all types
                                     comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                     
                              required:
                                - value
                              description: The value must be equal to the criterion
                            setRule:
                              type: object
                              properties:
                                values:
                                  type: array
                                  items:
                                    type: object
                                    properties:
                                      boolValue:
                                        type: boolean
                                      numberValue:
                                        type: number
                                      stringValue:
                                        type: string
                                      timestampValue:
                                        type: object
                                      nullValue:
                                        type: object
                                        properties:
                                          dummyField:
                                            type: string
                                            description: Dummy field to make the type not empty
                                  description: |-
                                    equality (==, !=, ∈) defined for all types
                                     comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                     
                              required:
                                - values
                              description: The value must be in the set of values
                            rangeRule:
                              type: object
                              properties:
                                startInclusive:
                                  type: object
                                  properties:
                                    boolValue:
                                      type: boolean
                                    numberValue:
                                      type: number
                                    stringValue:
                                      type: string
                                    timestampValue:
                                      type: object
                                    nullValue:
                                      type: object
                                      properties:
                                        dummyField:
                                          type: string
                                          description: Dummy field to make the type not empty
                                  description: |-
                                    equality (==, !=, ∈) defined for all types
                                     comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                     
                                startExclusive:
                                  type: object
                                  properties:
                                    boolValue:
                                      type: boolean
                                    numberValue:
                                      type: number
                                    stringValue:
                                      type: string
                                    timestampValue:
                                      type: object
                                    nullValue:
                                      type: object
                                      properties:
                                        dummyField:
                                          type: string
                                          description: Dummy field to make the type not empty
                                  description: |-
                                    equality (==, !=, ∈) defined for all types
                                     comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                     
                                endInclusive:
                                  type: object
                                  properties:
                                    boolValue:
                                      type: boolean
                                    numberValue:
                                      type: number
                                    stringValue:
                                      type: string
                                    timestampValue:
                                      type: object
                                    nullValue:
                                      type: object
                                      properties:
                                        dummyField:
                                          type: string
                                          description: Dummy field to make the type not empty
                                  description: |-
                                    equality (==, !=, ∈) defined for all types
                                     comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                     
                                endExclusive:
                                  type: object
                                  properties:
                                    boolValue:
                                      type: boolean
                                    numberValue:
                                      type: number
                                    stringValue:
                                      type: string
                                    timestampValue:
                                      type: object
                                    nullValue:
                                      type: object
                                      properties:
                                        dummyField:
                                          type: string
                                          description: Dummy field to make the type not empty
                                  description: |-
                                    equality (==, !=, ∈) defined for all types
                                     comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                     
                              description: The value must be in the range
                          required:
                            - attribute
                          description: >-
                            A criterion for an attribute (typically a table
                            column)
                  description: The filter criteria
                expression:
                  type: object
                  properties:
                    ref:
                      type: string
                    not:
                      type: object
                      description: >-
                        A boolean expression with leaf nodes that reference
                        criteria elements
                         
                    and:
                      type: object
                      properties:
                        operands:
                          type: array
                          items:
                            type: object
                          description: >-
                            A boolean expression with leaf nodes that reference
                            criteria elements
                             
                      required:
                        - operands
                    or:
                      type: object
                      properties:
                        operands:
                          type: array
                          items:
                            type: object
                          description: >-
                            A boolean expression with leaf nodes that reference
                            criteria elements
                             
                      required:
                        - operands
                  description: The filter expressions
              required:
                - criteria
                - expression
              description: Filter configuration
          description: The exposure filter configuration
        exposureMetric:
          type: string
          description: A resource name on the format metrics/abc
        exposureMetricCalculation:
          type: string
          description: >-
            A resource name on the format
            scheduledMetricCalculations/abc/metricCalculations/def
        exposureMetricSchedule:
          type: string
          description: A resource name on the format scheduledMetricCalculations/abc
        exposureTable:
          type: string
          description: A resource name on the format exposureTables/abc
        exposureTableSchedule:
          type: string
          description: A resource name on the format scheduledExposureCalculations/abc
        filters:
          type: array
          items:
            type: object
            properties:
              displayName:
                type: string
                description: Display name for the exposure filter
              factTable:
                type: string
                description: A resource name on the format factTables/abc
              filter:
                type: object
                properties:
                  criteria:
                    type: array
                    items:
                      type: object
                      additionalProperties:
                        type: object
                        properties:
                          attribute:
                            type: object
                            properties:
                              attribute:
                                type: string
                                description: The name of the attribute
                              eqRule:
                                type: object
                                properties:
                                  value:
                                    type: object
                                    properties:
                                      boolValue:
                                        type: boolean
                                      numberValue:
                                        type: number
                                      stringValue:
                                        type: string
                                      timestampValue:
                                        type: object
                                      nullValue:
                                        type: object
                                        properties:
                                          dummyField:
                                            type: string
                                            description: Dummy field to make the type not empty
                                    description: |-
                                      equality (==, !=, ∈) defined for all types
                                       comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                       
                                required:
                                  - value
                                description: The value must be equal to the criterion
                              setRule:
                                type: object
                                properties:
                                  values:
                                    type: array
                                    items:
                                      type: object
                                      properties:
                                        boolValue:
                                          type: boolean
                                        numberValue:
                                          type: number
                                        stringValue:
                                          type: string
                                        timestampValue:
                                          type: object
                                        nullValue:
                                          type: object
                                          properties:
                                            dummyField:
                                              type: string
                                              description: Dummy field to make the type not empty
                                    description: |-
                                      equality (==, !=, ∈) defined for all types
                                       comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                       
                                required:
                                  - values
                                description: The value must be in the set of values
                              rangeRule:
                                type: object
                                properties:
                                  startInclusive:
                                    type: object
                                    properties:
                                      boolValue:
                                        type: boolean
                                      numberValue:
                                        type: number
                                      stringValue:
                                        type: string
                                      timestampValue:
                                        type: object
                                      nullValue:
                                        type: object
                                        properties:
                                          dummyField:
                                            type: string
                                            description: Dummy field to make the type not empty
                                    description: |-
                                      equality (==, !=, ∈) defined for all types
                                       comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                       
                                  startExclusive:
                                    type: object
                                    properties:
                                      boolValue:
                                        type: boolean
                                      numberValue:
                                        type: number
                                      stringValue:
                                        type: string
                                      timestampValue:
                                        type: object
                                      nullValue:
                                        type: object
                                        properties:
                                          dummyField:
                                            type: string
                                            description: Dummy field to make the type not empty
                                    description: |-
                                      equality (==, !=, ∈) defined for all types
                                       comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                       
                                  endInclusive:
                                    type: object
                                    properties:
                                      boolValue:
                                        type: boolean
                                      numberValue:
                                        type: number
                                      stringValue:
                                        type: string
                                      timestampValue:
                                        type: object
                                      nullValue:
                                        type: object
                                        properties:
                                          dummyField:
                                            type: string
                                            description: Dummy field to make the type not empty
                                    description: |-
                                      equality (==, !=, ∈) defined for all types
                                       comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                       
                                  endExclusive:
                                    type: object
                                    properties:
                                      boolValue:
                                        type: boolean
                                      numberValue:
                                        type: number
                                      stringValue:
                                        type: string
                                      timestampValue:
                                        type: object
                                      nullValue:
                                        type: object
                                        properties:
                                          dummyField:
                                            type: string
                                            description: Dummy field to make the type not empty
                                    description: |-
                                      equality (==, !=, ∈) defined for all types
                                       comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                       
                                description: The value must be in the range
                            required:
                              - attribute
                            description: >-
                              A criterion for an attribute (typically a table
                              column)
                    description: The filter criteria
                  expression:
                    type: object
                    properties:
                      ref:
                        type: string
                      not:
                        type: object
                        description: >-
                          A boolean expression with leaf nodes that reference
                          criteria elements
                           
                      and:
                        type: object
                        properties:
                          operands:
                            type: array
                            items:
                              type: object
                            description: >-
                              A boolean expression with leaf nodes that
                              reference criteria elements
                               
                        required:
                          - operands
                      or:
                        type: object
                        properties:
                          operands:
                            type: array
                            items:
                              type: object
                            description: >-
                              A boolean expression with leaf nodes that
                              reference criteria elements
                               
                        required:
                          - operands
                    description: The filter expressions
                required:
                  - criteria
                  - expression
                description: Filter configuration
          description: Additional exposure filters
        metrics:
          type: array
          items:
            type: object
            properties:
              calculation:
                type: string
                description: Display name for the exposure filter
              metric:
                type: string
                description: A resource name on the format factTables/abc
              metricRole:
                type: object
                properties:
                  metricKind:
                    type: string
                    enum:
                      - METRIC_KIND_UNSPECIFIED
                      - UNKNOWN
                      - SUCCESS
                      - GUARDRAIL
                  minimumDetectableEffect:
                    type: number
                  nonInferiorityMargin:
                    type: number
                required:
                  - metricKind
                description: Filter configuration
              preferredDirection:
                type: string
                enum:
                  - PREFERRED_DIRECTION_UNSPECIFIED
                  - INCREASE
                  - DECREASE
                  - ANY
              schedule:
                type: string
              surface:
                type: string
              surfaceOnly:
                type: boolean
            required:
              - metric
          description: The list of metrics
      required:
        - bucket
        - metrics
    confidence.experiments.abtest.v1.Abtest.PlanningData:
      title: Abtest.PlanningData
      type: object
      description: Module data for planning
      properties:
        actual:
          type: object
          properties:
            endTime:
              type: string
              description: The end time
            runtime:
              type: string
              description: The runtime duration
            startTime:
              type: string
              description: The start time
          description: The actual time period
        planned:
          type: object
          properties:
            endTime:
              type: string
              description: The end time
            runtime:
              type: string
              description: The runtime duration
            startTime:
              type: string
              description: The start time
          description: The planned time period
    confidence.experiments.abtest.v1.Abtest.ReportData:
      title: Abtest.ReportData
      type: object
      description: Module data for report
      properties:
        name:
          type: string
          description: The report name
        sections:
          type: array
          items:
            type: object
            properties:
              hypothesisData:
                type: object
                properties:
                  hypothesis:
                    type: string
                    description: The hypothesis text
                description: The hypothesis data
              id:
                type: string
                description: The section id
              imagesData:
                type: object
                properties:
                  images:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: The image id
                        imageUri:
                          type: string
                          description: The image URI
                        label:
                          type: string
                          description: The image label
                        text:
                          type: string
                          description: The image text
                      required:
                        - id
                    description: The images
                description: The images data
              metricsData:
                type: object
                properties:
                  metrics:
                    type: array
                    items:
                      type: object
                      properties:
                        hidden:
                          type: boolean
                          description: Whether the metric is hidden
                        metric:
                          type: string
                          description: A resource name on the format metrics/abc
                        metricName:
                          type: string
                          description: The metric name
                        treatments:
                          type: array
                          items:
                            type: object
                            properties:
                              hidden:
                                type: boolean
                                description: Whether the treatment is hidden
                              treatment:
                                type: string
                                description: The treatment id
                            required:
                              - treatment
                          description: The treatment configurations
                    description: The metrics
                description: The metrics data
              nextData:
                type: object
                properties:
                  text:
                    type: string
                    description: The next steps text
                  title:
                    type: string
                    description: The next steps title
                description: The next steps data
              outcomeData:
                type: object
                properties:
                  conclusion:
                    type: string
                    description: The conclusion
                  outcome:
                    type: string
                    description: The outcome
                description: The outcome data
              recommendationsData:
                type: object
                properties:
                  content:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: The content id
                        shippingRecommendation:
                          type: string
                          description: The shipping recommendation
                        text:
                          type: string
                          description: The recommendation text
                        variant:
                          type: string
                          description: The variant
                      required:
                        - id
                    description: The recommendation content
                description: The recommendations data
              resultsData:
                type: object
                properties:
                  text:
                    type: string
                    description: The results text
                  title:
                    type: string
                    description: The results title
                description: The results data
              summaryData:
                type: object
                properties:
                  imageUri:
                    type: string
                    description: The summary image URI
                  text:
                    type: string
                    description: The summary text
                  title:
                    type: string
                    description: The summary title
                description: The summary data
            required:
              - id
          description: The report sections
      required:
        - sections
    confidence.experiments.abtest.v1.Abtest.ReviewsData:
      title: Abtest.ReviewsData
      type: object
      description: Module data for reviews
      properties:
        approvalRequired:
          type: boolean
          description: Whether approval is required
        optionalReviews:
          type: array
          items:
            type: object
            properties:
              responses:
                type: array
                items:
                  type: object
                  properties:
                    commentId:
                      type: string
                      description: The comment id
                    groups:
                      type: array
                      items:
                        type: string
                      description: Resource names on the format identities/abc
                    id:
                      type: string
                      description: The response id
                    reviewer:
                      type: string
                      description: A resource name on the format identities/abc
                    stale:
                      type: boolean
                      description: Whether the review is stale
                    state:
                      type: string
                      enum:
                        - STATE_UNSPECIFIED
                        - PENDING
                        - APPROVED
                        - REJECTED
                        - REQUESTED
                        - STALE
                      description: The review state
                  required:
                    - reviewer
                    - state
                description: The review responses
              state:
                type: string
                enum:
                  - STATE_UNSPECIFIED
                  - PENDING
                  - APPROVED
                  - REJECTED
                  - REQUESTED
                  - STALE
                description: The review state
              surface:
                type: string
                description: A resource name on the format surfaces/abc
            required:
              - state
          description: The optional reviews for each surface
        requiredReviews:
          type: array
          items:
            type: object
            properties:
              responses:
                type: array
                items:
                  type: object
                  properties:
                    commentId:
                      type: string
                      description: The comment id
                    groups:
                      type: array
                      items:
                        type: string
                      description: Resource names on the format identities/abc
                    id:
                      type: string
                      description: The response id
                    reviewer:
                      type: string
                      description: A resource name on the format identities/abc
                    stale:
                      type: boolean
                      description: Whether the review is stale
                    state:
                      type: string
                      enum:
                        - STATE_UNSPECIFIED
                        - PENDING
                        - APPROVED
                        - REJECTED
                        - REQUESTED
                        - STALE
                      description: The review state
                  required:
                    - reviewer
                    - state
                description: The review responses
              state:
                type: string
                enum:
                  - STATE_UNSPECIFIED
                  - PENDING
                  - APPROVED
                  - REJECTED
                  - REQUESTED
                  - STALE
                description: The review state
              surface:
                type: string
                description: A resource name on the format surfaces/abc
            required:
              - state
          description: The required reviews for each surface
        reviewId:
          type: string
          description: The review id
        status:
          type: string
          enum:
            - STATUS_UNSPECIFIED
            - PENDING
            - APPROVED
            - REJECTED
            - REQUESTED
            - STALE
          description: The overall review status
    confidence.experiments.abtest.v1.Abtest.SampleSizeData:
      title: Abtest.SampleSizeData
      type: object
      description: Module data for samplesize
      properties:
        error:
          type: string
          description: Error message if any
        exposure:
          type: object
          properties:
            assignmentTable:
              type: object
              properties:
                assignmentTable:
                  type: string
                  description: The assignment table name
                customEndTime:
                  type: string
                  description: Custom end time for sample size calculation
                customStartTime:
                  type: string
                  description: Custom start time for sample size calculation
                filters:
                  type: object
                  properties:
                    exposureFilter:
                      type: string
                      description: Exposure filter name
                  description: The filters
                runtime:
                  type: string
                  description: The runtime duration
                samplingFactor:
                  type: number
                  description: >-
                    Factor to scale up expected sample sizes when using sampled
                    data (default 1.0)
              description: The assignment table configuration
            endTime:
              type: string
              description: The end time
            existingInstance:
              type: object
              properties:
                exposureTableSchedule:
                  type: string
                  description: The exposure table schedule
                workflowInstance:
                  type: string
                  description: A resource name on the format workflowInstances/abc
              required:
                - workflowInstance
              description: The existing workflow instance
            startTime:
              type: string
              description: The start time
          description: The exposure configuration
        exposureSource:
          type: object
          properties:
            assignmentTable:
              type: string
              description: The assignment table name
            customEndTime:
              type: string
              description: Custom end time for sample size calculation
            customStartTime:
              type: string
              description: Custom start time for sample size calculation
            exposureTableSchedule:
              type: string
              description: The exposure table schedule
            filters:
              type: object
              properties:
                assignmentFilter:
                  type: object
                  properties:
                    criteria:
                      type: array
                      items:
                        type: object
                        additionalProperties:
                          type: object
                          properties:
                            attribute:
                              type: object
                              properties:
                                attribute:
                                  type: string
                                  description: The name of the attribute
                                eqRule:
                                  type: object
                                  properties:
                                    value:
                                      type: object
                                      properties:
                                        boolValue:
                                          type: boolean
                                        numberValue:
                                          type: number
                                        stringValue:
                                          type: string
                                        timestampValue:
                                          type: object
                                        nullValue:
                                          type: object
                                          properties:
                                            dummyField:
                                              type: string
                                              description: Dummy field to make the type not empty
                                      description: >-
                                        equality (==, !=, ∈) defined for all
                                        types
                                         comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                         
                                  required:
                                    - value
                                  description: The value must be equal to the criterion
                                setRule:
                                  type: object
                                  properties:
                                    values:
                                      type: array
                                      items:
                                        type: object
                                        properties:
                                          boolValue:
                                            type: boolean
                                          numberValue:
                                            type: number
                                          stringValue:
                                            type: string
                                          timestampValue:
                                            type: object
                                          nullValue:
                                            type: object
                                            properties:
                                              dummyField:
                                                type: string
                                                description: Dummy field to make the type not empty
                                      description: >-
                                        equality (==, !=, ∈) defined for all
                                        types
                                         comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                         
                                  required:
                                    - values
                                  description: The value must be in the set of values
                                rangeRule:
                                  type: object
                                  properties:
                                    startInclusive:
                                      type: object
                                      properties:
                                        boolValue:
                                          type: boolean
                                        numberValue:
                                          type: number
                                        stringValue:
                                          type: string
                                        timestampValue:
                                          type: object
                                        nullValue:
                                          type: object
                                          properties:
                                            dummyField:
                                              type: string
                                              description: Dummy field to make the type not empty
                                      description: >-
                                        equality (==, !=, ∈) defined for all
                                        types
                                         comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                         
                                    startExclusive:
                                      type: object
                                      properties:
                                        boolValue:
                                          type: boolean
                                        numberValue:
                                          type: number
                                        stringValue:
                                          type: string
                                        timestampValue:
                                          type: object
                                        nullValue:
                                          type: object
                                          properties:
                                            dummyField:
                                              type: string
                                              description: Dummy field to make the type not empty
                                      description: >-
                                        equality (==, !=, ∈) defined for all
                                        types
                                         comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                         
                                    endInclusive:
                                      type: object
                                      properties:
                                        boolValue:
                                          type: boolean
                                        numberValue:
                                          type: number
                                        stringValue:
                                          type: string
                                        timestampValue:
                                          type: object
                                        nullValue:
                                          type: object
                                          properties:
                                            dummyField:
                                              type: string
                                              description: Dummy field to make the type not empty
                                      description: >-
                                        equality (==, !=, ∈) defined for all
                                        types
                                         comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                         
                                    endExclusive:
                                      type: object
                                      properties:
                                        boolValue:
                                          type: boolean
                                        numberValue:
                                          type: number
                                        stringValue:
                                          type: string
                                        timestampValue:
                                          type: object
                                        nullValue:
                                          type: object
                                          properties:
                                            dummyField:
                                              type: string
                                              description: Dummy field to make the type not empty
                                      description: >-
                                        equality (==, !=, ∈) defined for all
                                        types
                                         comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                         
                                  description: The value must be in the range
                              required:
                                - attribute
                              description: >-
                                A criterion for an attribute (typically a table
                                column)
                      description: The filter criteria
                    expression:
                      type: object
                      properties:
                        ref:
                          type: string
                        not:
                          type: object
                          description: >-
                            A boolean expression with leaf nodes that reference
                            criteria elements
                             
                        and:
                          type: object
                          properties:
                            operands:
                              type: array
                              items:
                                type: object
                              description: >-
                                A boolean expression with leaf nodes that
                                reference criteria elements
                                 
                          required:
                            - operands
                        or:
                          type: object
                          properties:
                            operands:
                              type: array
                              items:
                                type: object
                              description: >-
                                A boolean expression with leaf nodes that
                                reference criteria elements
                                 
                          required:
                            - operands
                      description: The filter expressions
                  required:
                    - criteria
                    - expression
                  description: Assignment filter
                entityFilter:
                  type: object
                  properties:
                    dimensionTable:
                      type: string
                      description: Resource name of a dimension table
                    filter:
                      type: object
                      properties:
                        criteria:
                          type: array
                          items:
                            type: object
                            additionalProperties:
                              type: object
                              properties:
                                attribute:
                                  type: object
                                  properties:
                                    attribute:
                                      type: string
                                      description: The name of the attribute
                                    eqRule:
                                      type: object
                                      properties:
                                        value:
                                          type: object
                                          properties:
                                            boolValue:
                                              type: boolean
                                            numberValue:
                                              type: number
                                            stringValue:
                                              type: string
                                            timestampValue:
                                              type: object
                                            nullValue:
                                              type: object
                                              properties:
                                                dummyField:
                                                  type: string
                                                  description: Dummy field to make the type not empty
                                          description: >-
                                            equality (==, !=, ∈) defined for all
                                            types
                                             comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                             
                                      required:
                                        - value
                                      description: The value must be equal to the criterion
                                    setRule:
                                      type: object
                                      properties:
                                        values:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              boolValue:
                                                type: boolean
                                              numberValue:
                                                type: number
                                              stringValue:
                                                type: string
                                              timestampValue:
                                                type: object
                                              nullValue:
                                                type: object
                                                properties:
                                                  dummyField:
                                                    type: string
                                                    description: Dummy field to make the type not empty
                                          description: >-
                                            equality (==, !=, ∈) defined for all
                                            types
                                             comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                             
                                      required:
                                        - values
                                      description: The value must be in the set of values
                                    rangeRule:
                                      type: object
                                      properties:
                                        startInclusive:
                                          type: object
                                          properties:
                                            boolValue:
                                              type: boolean
                                            numberValue:
                                              type: number
                                            stringValue:
                                              type: string
                                            timestampValue:
                                              type: object
                                            nullValue:
                                              type: object
                                              properties:
                                                dummyField:
                                                  type: string
                                                  description: Dummy field to make the type not empty
                                          description: >-
                                            equality (==, !=, ∈) defined for all
                                            types
                                             comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                             
                                        startExclusive:
                                          type: object
                                          properties:
                                            boolValue:
                                              type: boolean
                                            numberValue:
                                              type: number
                                            stringValue:
                                              type: string
                                            timestampValue:
                                              type: object
                                            nullValue:
                                              type: object
                                              properties:
                                                dummyField:
                                                  type: string
                                                  description: Dummy field to make the type not empty
                                          description: >-
                                            equality (==, !=, ∈) defined for all
                                            types
                                             comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                             
                                        endInclusive:
                                          type: object
                                          properties:
                                            boolValue:
                                              type: boolean
                                            numberValue:
                                              type: number
                                            stringValue:
                                              type: string
                                            timestampValue:
                                              type: object
                                            nullValue:
                                              type: object
                                              properties:
                                                dummyField:
                                                  type: string
                                                  description: Dummy field to make the type not empty
                                          description: >-
                                            equality (==, !=, ∈) defined for all
                                            types
                                             comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                             
                                        endExclusive:
                                          type: object
                                          properties:
                                            boolValue:
                                              type: boolean
                                            numberValue:
                                              type: number
                                            stringValue:
                                              type: string
                                            timestampValue:
                                              type: object
                                            nullValue:
                                              type: object
                                              properties:
                                                dummyField:
                                                  type: string
                                                  description: Dummy field to make the type not empty
                                          description: >-
                                            equality (==, !=, ∈) defined for all
                                            types
                                             comparison ({"<"}, {"<"}=, {">"}, {">"}=) defined for number, timestamp, version
                                             
                                      description: The value must be in the range
                                  required:
                                    - attribute
                                  description: >-
                                    A criterion for an attribute (typically a
                                    table column)
                          description: The filter criteria
                        expression:
                          type: object
                          properties:
                            ref:
                              type: string
                            not:
                              type: object
                              description: >-
                                A boolean expression with leaf nodes that
                                reference criteria elements
                                 
                            and:
                              type: object
                              properties:
                                operands:
                                  type: array
                                  items:
                                    type: object
                                  description: >-
                                    A boolean expression with leaf nodes that
                                    reference criteria elements
                                     
                              required:
                                - operands
                            or:
                              type: object
                              properties:
                                operands:
                                  type: array
                                  items:
                                    type: object
                                  description: >-
                                    A boolean expression with leaf nodes that
                                    reference criteria elements
                                     
                              required:
                                - operands
                          description: The filter expressions
                      required:
                        - criteria
                        - expression
                      description: >-
                        A filter to apply to the entity table used for entity
                        filtering
                  required:
                    - dimensionTable
                  description: Entity filter
                exposureFilter:
                  type: string
                  description: Exposure filter name
              description: The filters
            runtime:
              type: string
              description: The runtime duration
            samplingFactor:
              type: number
              description: >-
                Factor to scale up expected sample sizes when using sampled data
                (default 1.0)
            workflowInstance:
              type: string
              description: A resource name on the format workflowInstances/abc
          description: The exposure source configuration
        hasCustomizedExposureSource:
          type: boolean
          description: >-
            Whether the user has explicitly customized the exposure source. When
            true, the flag filter sync is disabled. Missing (undefined) on old
            instances disables sync for backwards compatibility.
        metrics:
          type: array
          items:
            type: object
            properties:
              error:
                type: string
                description: Error message if any
              forecastedData:
                type: array
                items:
                  type: object
                  properties:
                    dayIndex:
                      type: integer
                      description: Day index since exposure start (0-based)
                    expectedSampleSize:
                      type: integer
                      description: The expected/forecasted sample size
                    requiredSampleSize:
                      type: integer
                      description: The required sample size
                  required:
                    - dayIndex
                description: Forecasted time series data
              metric:
                type: string
                description: The metric name
              observedData:
                type: array
                items:
                  type: object
                  properties:
                    dayIndex:
                      type: integer
                      description: Day index since exposure start (0-based)
                    expectedSampleSize:
                      type: integer
                      description: The expected sample size
                    mean:
                      type: number
                      description: The mean value
                    requiredSampleSize:
                      type: integer
                      description: The required sample size
                    variance:
                      type: number
                      description: The variance
                  required:
                    - dayIndex
                description: Observed time series data
              requiredSampleSize:
                type: integer
                description: The required sample size
              state:
                type: string
                enum:
                  - STATE_UNSPECIFIED
                  - ERROR
                  - NO_PLANNED_EFFECT_SIZE
                  - OK
                description: The state of the metric
              summaryStats:
                type: object
                properties:
                  count:
                    type: integer
                    description: The count
                  mean:
                    type: number
                    description: The mean value
                  variance:
                    type: number
                    description: The variance
                  varianceReductionRate:
                    type: number
                    description: The variance reduction rate
                description: Summary statistics for the metric
              type:
                type: string
                enum:
                  - TYPE_UNSPECIFIED
                  - UNKNOWN
                  - SUCCESS
                  - GUARDRAIL
                  - DETERIORATION
                  - QUALITY
                description: The metric type
            required:
              - metric
          description: The metrics for sample size calculation
        requiredSampleSize:
          type: integer
          description: The required sample size
        state:
          type: string
          enum:
            - STATE_UNSPECIFIED
            - EMPTY
            - CALCULATING_EXPOSURE
            - CALCULATING_METRICS
            - DONE
            - ERROR
            - STALE
            - CANCELED
          description: The sample size calculation state
        statsParameters:
          type: object
          properties:
            allocationProportion:
              type: string
              description: >-
                The allocation proportion used in the calculation, for scaling
                when allocation changes
            alpha:
              type: number
              description: Significance level
            power:
              type: number
              description: Statistical power
            testHorizonStrategy:
              type: string
              enum:
                - TEST_HORIZON_STRATEGY_UNSPECIFIED
                - FIXED_HORIZON
                - SEQUENTIAL
              description: Test horizon strategy
          required:
            - alpha
            - power
            - testHorizonStrategy
          description: The stats parameters
        useScheduledCalculation:
          type: boolean
          description: Use scheduled calculations instead of one-time calculations
    confidence.experiments.abtest.v1.Abtest.StatsData:
      title: Abtest.StatsData
      type: object
      description: Module data for stats
      properties:
        alpha:
          type: number
          description: Significance level (defaults to 0.05)
        analysisResult:
          type: string
          description: A resource name on the format analysisResults/abc
        analysisResults:
          type: array
          items:
            type: object
            properties:
              analysisResult:
                type: string
                description: A resource name on the format analysisResults/abc
              exposureFilterName:
                type: string
                description: The exposure filter name
            required:
              - analysisResult
          description: Analysis result resource names (multiple exposure filters)
        fallbackSampleSize:
          type: string
          description: Fallback sample size when metric-specific size is not set
        metricInformation:
          type: array
          items:
            type: object
            properties:
              expectedSampleSize:
                type: string
                description: Expected sample size for this metric
              metricName:
                type: string
                description: The metric name
            required:
              - metricName
          description: Expected sample sizes for metrics
        metricMethods:
          type: array
          items:
            type: object
            properties:
              method:
                type: string
                enum:
                  - METHOD_UNSPECIFIED
                  - Z_TEST
                  - GST_Z_TEST
                  - ASYMP_CS
                  - RATIO
                  - GST_RATIO
                  - ASYMP_CS_RATIO
                  - CHI2
                  - UNKNOWN
                description: The statistical method
              metricName:
                type: string
                description: The metric name
            required:
              - method
              - metricName
          description: Statistical methods used for each metric
        power:
          type: number
          description: Statistical power (defaults to 0.8)
        testHorizonStrategy:
          type: string
          enum:
            - TEST_HORIZON_STRATEGY_UNSPECIFIED
            - FIXED_HORIZON
            - SEQUENTIAL
          description: Testing strategy (fixed horizon or sequential)
    confidence.experiments.abtest.v1.Abtest:
      title: Abtest
      type: object
      description: Represents a Abtest.
      properties:
        name:
          type: string
          description: >-
            Unique id of the instance for example
            `workflows/abtest/instances/vxpoqirnwawxzasv4tuu`.
        displayName:
          type: string
          description: Human-friendly name of this instance.
        owner:
          type: string
          description: The owner of the resource. If not set will default to the creator.
        state:
          type: string
          description: Current state of the workflow instance.
        jobQueue:
          type: object
          properties:
            isEnabled:
              type: boolean
            items:
              type: array
              items:
                type: object
                properties:
                  key:
                    type: string
                  func:
                    type: string
                  runTime:
                    type: object
                  parameters:
                    type: object
                  isActive:
                    type: boolean
                required:
                  - key
                  - func
                  - runTime
                  - isActive
          required:
            - isEnabled
        pendingTransition:
          type: object
          properties:
            transitionAction:
              type: string
              description: the action that was triggered
            targetState:
              type: string
              description: >-
                the state that the workflow instance is attempting to transition
                to
            succeededSteps:
              type: array
              items:
                type: string
              description: steps that have been completed as part of the transition
            failedSteps:
              type: array
              items:
                type: object
                properties:
                  actionStep:
                    type: string
                  failuresMessages:
                    type: array
                    items:
                      type: string
                required:
                  - actionStep
              description: steps that have failed as part of the transition
            unprocessedSteps:
              type: array
              items:
                type: string
              description: steps that have not yet been processed as part of the transition
            succeededActions:
              type: array
              items:
                type: string
            failedActions:
              type: array
              items:
                type: object
                properties:
                  action:
                    type: string
                  failuresMessages:
                    type: array
                    items:
                      type: string
                required:
                  - action
            unprocessedActions:
              type: array
              items:
                type: string
          required:
            - transitionAction
            - targetState
          description: >-
            if present, denotes information about an ongoing attempt to
            transition to another state
        checks:
          type: array
          items:
            type: object
            properties:
              name:
                type: string
                description: >-
                  The name of the check, for example,
                  `workflows/abtest/instances/vxpoqirnwawxzasv4tuu/checks/ndcrhu0tzbin85xzpszv.
              displayName:
                type: string
                description: display name of the check
              message:
                type: string
                description: Status message of a check.
              state:
                type: string
                enum:
                  - STATE_UNSPECIFIED
                  - PENDING
                  - SUCCEEDED
                  - FAILED
                description: |2-

                   The state of the check.
              persist:
                type: boolean
                description: >-
                  Determines whether the check should be kept between state
                  transitions.
              parent:
                type: string
                description: |2-

                   A possible parent check that this check is nested under.
              data:
                type: object
                properties:
                  nullValue:
                    type: string
                    enum:
                      - NULL_VALUE
                  numberValue:
                    type: number
                  stringValue:
                    type: string
                  boolValue:
                    type: boolean
                  structValue:
                    type: object
                  listValue:
                    type: object
                    properties:
                      values:
                        type: array
                        items:
                          type: object
                description: Custom data for the check.
              labels:
                type: array
                items:
                  type: object
                  additionalProperties:
                    type: string
                description: Custom labels for this check.
              createTime:
                type: object
                description: Time when the check was first created.
              updateTime:
                type: object
                description: Time when the entity was last updated.
              creator:
                type: string
                description: Reference to the identity that created this check.
              updater:
                type: string
                description: Reference to the identity that last updated this check.
            required:
              - message
              - state
              - persist
              - createTime
              - updateTime
              - creator
              - updater
          description: >-
            A check is a named boolean value that can be used to report possible
            errors when a workflow
             instance is in a certain state.
        stateHistory:
          type: array
          items:
            type: object
            properties:
              state:
                type: string
                description: The historical state
              enteredTime:
                type: object
                description: >-
                  The timestamp at which the workflow instance entered this
                  state
              exitedTime:
                type: object
                description: The timestamp at which the workflow instance exited this state
              actualEnteredTime:
                type: object
                description: >-
                  The actual timestamp, as defined by an external system, that
                  the workflow instance entered this state
              actualExitedTime:
                type: object
                description: >-
                  The actual timestamp, as defined by an external system, that
                  the workflow instance exited this state
              checks:
                type: array
                items:
                  type: object
                  properties:
                    name:
                      type: string
                      description: >-
                        The name of the check, for example,
                        `workflows/abtest/instances/vxpoqirnwawxzasv4tuu/checks/ndcrhu0tzbin85xzpszv.
                    displayName:
                      type: string
                      description: display name of the check
                    message:
                      type: string
                      description: Status message of a check.
                    state:
                      type: string
                      enum:
                        - STATE_UNSPECIFIED
                        - PENDING
                        - SUCCEEDED
                        - FAILED
                      description: |2-

                         The state of the check.
                    persist:
                      type: boolean
                      description: >-
                        Determines whether the check should be kept between
                        state transitions.
                    parent:
                      type: string
                      description: |2-

                         A possible parent check that this check is nested under.
                    data:
                      type: object
                      properties:
                        nullValue:
                          type: string
                          enum:
                            - NULL_VALUE
                        numberValue:
                          type: number
                        stringValue:
                          type: string
                        boolValue:
                          type: boolean
                        structValue:
                          type: object
                        listValue:
                          type: object
                          properties:
                            values:
                              type: array
                              items:
                                type: object
                      description: Custom data for the check.
                    labels:
                      type: array
                      items:
                        type: object
                        additionalProperties:
                          type: string
                      description: Custom labels for this check.
                    createTime:
                      type: object
                      description: Time when the check was first created.
                    updateTime:
                      type: object
                      description: Time when the entity was last updated.
                    creator:
                      type: string
                      description: Reference to the identity that created this check.
                    updater:
                      type: string
                      description: Reference to the identity that last updated this check.
                  required:
                    - message
                    - state
                    - persist
                    - createTime
                    - updateTime
                    - creator
                    - updater
                description: >-
                  All the checks that were present when the workflow instance
                  transitioned away from this state
          description: >-
            A historical record of previous states that the workflow instance
            was in.
        possibleTransitions:
          type: array
          items:
            type: string
          description: >-
            The transitions that this workflow instance can do from its current
            state.
        lockedDataKeys:
          type: array
          items:
            type: string
          description: Module data keys that are currently locked.
        workflowVersion:
          type: string
          description: Version of the workflow that this instance is running.
        surfaces:
          type: array
          items:
            type: string
          description: A set of surfaces that this workflow instance belongs to.
        transitionStatus:
          type: object
          properties:
            action:
              type: string
            initiator:
              type: string
            running:
              type: object
              properties:
                startTime:
                  type: object
                  description: The time when the transition was started.
              required:
                - startTime
            completed:
              type: object
              properties:
                startTime:
                  type: object
                  description: The time when the transition was started.
                endTime:
                  type: object
                  description: The time when the transition was completed.
              required:
                - startTime
                - endTime
            failed:
              type: object
              properties:
                startTime:
                  type: object
                  description: The time when the transition was started.
                endTime:
                  type: object
                  description: The time when the transition failed.
                error:
                  type: string
                  description: The error message of the failure.
              required:
                - startTime
                - endTime
                - error
          required:
            - action
            - initiator
          description: The status of the latest transition for the instance.
        createTime:
          type: object
          description: Time when the workflow instance was created.
        updateTime:
          type: object
          description: Time when the workflow instance was last updated.
        deleteTime:
          type: object
          description: Time when the workflow instance was deleted.
        creator:
          type: string
          description: Reference to the identity that created this workflow instance.
        updater:
          type: string
          description: Reference to the identity that last updated this workflow instance.
        labels:
          type: array
          items:
            type: object
            additionalProperties:
              type: string
          description: Generic labels for the workflow instance.
        abtest:
          $ref: >-
            #/components/schemas/confidence.experiments.abtest.v1.Abtest.AbTestData
          description: >-
            [Abtest.AbTestData](/api-reference/schemas/abtest-abtestdata):
            Module data for abtest
        decision:
          $ref: >-
            #/components/schemas/confidence.experiments.abtest.v1.Abtest.DecisionRecordData
          description: >-
            [Abtest.DecisionRecordData](/api-reference/schemas/abtest-decisionrecorddata):
            Module data for decision
        explore:
          $ref: >-
            #/components/schemas/confidence.experiments.abtest.v1.Abtest.ExploreData
          description: >-
            [Abtest.ExploreData](/api-reference/schemas/abtest-exploredata):
            Module data for explore
        exposure:
          $ref: >-
            #/components/schemas/confidence.experiments.abtest.v1.Abtest.ExposureData
          description: >-
            [Abtest.ExposureData](/api-reference/schemas/abtest-exposuredata):
            Module data for exposure
        flags:
          $ref: >-
            #/components/schemas/confidence.experiments.abtest.v1.Abtest.FlagsData
          description: >-
            [Abtest.FlagsData](/api-reference/schemas/abtest-flagsdata): Module
            data for flags
        hypothesis:
          $ref: >-
            #/components/schemas/confidence.experiments.abtest.v1.Abtest.HypothesisData
          description: >-
            [Abtest.HypothesisData](/api-reference/schemas/abtest-hypothesisdata):
            Module data for hypothesis
        metrics:
          $ref: >-
            #/components/schemas/confidence.experiments.abtest.v1.Abtest.MetricsData
          description: >-
            [Abtest.MetricsData](/api-reference/schemas/abtest-metricsdata):
            Module data for metrics
        planning:
          $ref: >-
            #/components/schemas/confidence.experiments.abtest.v1.Abtest.PlanningData
          description: >-
            [Abtest.PlanningData](/api-reference/schemas/abtest-planningdata):
            Module data for planning
        report:
          $ref: >-
            #/components/schemas/confidence.experiments.abtest.v1.Abtest.ReportData
          description: >-
            [Abtest.ReportData](/api-reference/schemas/abtest-reportdata):
            Module data for report
        reviews:
          $ref: >-
            #/components/schemas/confidence.experiments.abtest.v1.Abtest.ReviewsData
          description: >-
            [Abtest.ReviewsData](/api-reference/schemas/abtest-reviewsdata):
            Module data for reviews
        samplesize:
          $ref: >-
            #/components/schemas/confidence.experiments.abtest.v1.Abtest.SampleSizeData
          description: >-
            [Abtest.SampleSizeData](/api-reference/schemas/abtest-samplesizedata):
            Module data for samplesize
        stats:
          $ref: >-
            #/components/schemas/confidence.experiments.abtest.v1.Abtest.StatsData
          description: >-
            [Abtest.StatsData](/api-reference/schemas/abtest-statsdata): Module
            data for stats
      required:
        - displayName
        - state
        - createTime
        - updateTime
        - creator
        - updater
  securitySchemes:
    admin:
      type: http
      scheme: bearer

````