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

# Update a feature flag configuration

> Update the feature flag (using JSON Merge for patch) for the given site code and feature key.



## OpenAPI

````yaml /automation.api.json patch /feature-flags/{siteCode}/{featureKey}
openapi: 3.0.3
info:
  title: OpenAPI definition for automation api
  version: 1.0.0
servers:
  - url: https://api.kameleoon.com
security: []
tags:
  - description: >-
      This is an object representing a Kameleoon account.You can retrieve it to
      view its properties, such as its current e-mail address or locale.With
      proper authorization, your application can read and update an account and
      profile settings.<aside class="notice"> Not all settings are exposed via
      the API. See the API reference for details. </aside>
    name: Account
  - description: >-
      Feature flag is used to  help our clients implement new features, test and
      deploy them viaour SDK. This service allows you to create and configure
      the feature flag which will be used in the source code of your feature.
    name: FeatureFlag
  - description: >
      You can use your account to set up multiple websites.This is helpful if
      you want to test your website and its mobile version or if you want to try
      Kameleoon on your site in a pre-production environment,It allows you to
      create different testing environments.
    name: Site
  - description: >-
      Custom data is an advanced tool that lets you target your customers in a
      unique way using data that is already available,such as user account
      information.
    name: CustomData
  - description: >-
      Experiment is an A/B test which can be targeted to a specific audience or
      any other audience. Kameleoon has several types of experiments: `Classic`,
      `Multivariate test (MVT)`, `Server-side` and the one that suits the best
      can be used to achieve the best results.
    name: Experiment
  - description: >-
      To measure the efficiency of an experiment or a personalization, it must
      be linked to one or several goals. All goals can be managed through
      Kameleoon interface or Automation API. There are variety of different
      goals you can choose from to better measure the results.
    name: Goal
  - description: This is an object representing an image
    name: Image
  - description: >-
      This is an object representing a key moment. Please note that `KeyMoment`
      has now been renamed to `Triggers`.
    name: KeyMoment
  - description: >-
      KeyPage allows you to target visitors that have visited a particular page,
      or multiple pages on your website.
    name: KeyPage
  - description: >
      Web personalization tailors the experience for each visitor to improve
      your conversion rate.

      The personalization object contains all vital information about a
      personalization as well as segments and variations used in it.
    name: Personalization
  - description: This is an object representing a projectThemeConfig
    name: ProjectThemeConfig
  - description: This is an object representing recommender block
    name: RecommenderBlock
  - description: >
      Referrer is an advanced tool that allows you to target visitors according
      to acquisition methods that lead them to your website.

      Kameleoon automatically creates 5 default channels: `Bing`, `Baidu`,
      `Google`, `Yahoo` and `Google Adwords`.
    name: Referrer
  - description: >-
      Segmenting allows you to effectively target visitors.You can create,
      modify, and duplicate segments using the Segment Builder tool in
      Kameleoon’s backend or through our Automation API.
    name: Segment
  - description: This is an object representing studio recommender block
    name: StudioRecommenderBlock
  - description: This is an object representing tag
    name: Tag
  - description: >-
      Represents an object aggregating the main information about an experiment
      result.
    name: Takeaway
  - description: This is an object representing a takeaway comment.
    name: TakeawayComment
  - description: >-
      TargetingRule is a system entity that combines segments (user groups) and
      triggers (activation conditions) to define precise targeting rules for
      experiments.
    name: TargetingRule
  - description: This is an object representing a theme
    name: Theme
  - description: >-
      A variation is a modified version of your webpage that can be edited for
      experiments or personalization.

      When you add a new variation, Kameleoon creates a copy of the original
      page from which you started.All changes will be saved in the variation,
      which will include all your edits when the test starts.
    name: Variation
  - description: This is an object representing a widget
    name: Widget
  - description: This is an object representing a widget studio
    name: WidgetStudio
  - description: This is an object representing widget studio template
    name: WidgetStudioTemplate
  - name: Audience
    description: >-
      Audience refers to statistical information regarding the number of visits,
      conversions, and other metrics related to a specific segment. Gaining
      insights into your website's audience is essential for effectively
      adjusting segments.
  - name: Data
    description: >
      Web personalization involves offering visitors a tailored experience to
      optimize your conversion rate.

      Personalization object contains information about a personalization, as
      well as the segments and variations used in it.
  - name: Raw Export
    description: >-
      Start a raw data exportation for experiment or personalization, which will
      be sent to the given emails.
paths:
  /feature-flags/{siteCode}/{featureKey}:
    patch:
      tags:
        - FeatureFlag
      summary: Update a feature flag configuration
      description: >-
        Update the feature flag (using JSON Merge for patch) for the given site
        code and feature key.
      operationId: update-feature-flag-configuration
      parameters:
        - in: path
          name: siteCode
          required: true
          schema:
            maxLength: 10
            minLength: 10
            type: string
        - in: path
          name: featureKey
          required: true
          schema:
            minLength: 1
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateFeatureFlagRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeatureFlagConfiguration'
          description: OK
        '400':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV1'
          description: Bad Request
        '403':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV1'
          description: Forbidden
        '404':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV1'
          description: Feature flag for provided site code and feature key not found
        '423':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV1'
          description: Resource Locked
        '500':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponseV1'
          description: Internal Server Error
components:
  schemas:
    UpdateFeatureFlagRequest:
      required:
        - featureKey
      type: object
      properties:
        attributionWindow:
          type: integer
          description: Attribution window in milliseconds
          format: int64
        bucketingKey:
          oneOf:
            - $ref: '#/components/schemas/BucketingKeyCustomDataDto'
            - $ref: '#/components/schemas/BucketingKeyVisitorCodeDto'
        description:
          maxLength: 5000
          minLength: 0
          type: string
          description: Description of the feature flag
        environmentConfigurations:
          type: array
          description: Environment-specific configurations for the feature flag
          items:
            $ref: '#/components/schemas/EnvironmentRequest'
        featureKey:
          maxLength: 255
          minLength: 0
          pattern: ^[a-z0-9_-]{1,255}$
          type: string
          description: Key used to identify the feature flag
        isArchived:
          type: boolean
          description: Flag indicating if the feature flag is archived
        name:
          maxLength: 100
          minLength: 0
          type: string
          description: Name of the feature flag
        primaryGoalId:
          type: integer
          description: Primary goal associated with the feature flag
          format: int32
        secondaryGoalIds:
          type: array
          description: Secondary goals associated with the feature flag
          items:
            type: integer
            description: Secondary goals associated with the feature flag
            format: int32
        tags:
          type: array
          description: List of tags associated with the feature flag
          items:
            type: string
            description: List of tags associated with the feature flag
        variables:
          type: array
          description: Variables associated with the feature flag
          items:
            $ref: '#/components/schemas/VariableRequest'
        variations:
          type: array
          description: Variations associated with the feature flag
          items:
            $ref: '#/components/schemas/VariationRequest'
      description: Payload used to update an existing feature flag
    FeatureFlagConfiguration:
      required:
        - featureKey
        - id
        - name
        - siteCode
      type: object
      properties:
        archived:
          type: boolean
        attributionWindow:
          type: integer
          description: Attribution window
          format: int64
        bucketingKey:
          readOnly: true
          oneOf:
            - $ref: '#/components/schemas/BucketingKeyCustomDataDto'
            - $ref: '#/components/schemas/BucketingKeyVisitorCodeDto'
        createdById:
          type: integer
          description: Created by id
          format: int32
          readOnly: true
        dateContentModified:
          type: string
          description: >-
            Date and time when the feature flag configuration content was last
            modified
          format: date-time
          readOnly: true
        dateCreated:
          type: string
          description: Date and time when the feature flag configuration was created
          format: date-time
          readOnly: true
        dateModified:
          type: string
          description: Date and time when the feature flag configuration was last modified
          format: date-time
          readOnly: true
        description:
          maxLength: 5000
          type: string
          description: Description of the feature
        environmentConfigurations:
          type: array
          description: Environment-specific configurations for the feature flag
          items:
            $ref: '#/components/schemas/EnvironmentResponse'
        featureKey:
          maxLength: 255
          minLength: 1
          type: string
          description: Key used to identify the feature flag
        health:
          type: string
          description: Health of the feature flag (for temporary ones)
          readOnly: true
          enum:
            - PERMANENT
            - HEALTHY
            - STALE
            - OUTDATED
        id:
          type: integer
          description: >-
            System-generated unique string of integers to identify a feature
            flag
          format: int32
          readOnly: true
        isArchived:
          type: boolean
          writeOnly: true
        name:
          maxLength: 100
          minLength: 1
          type: string
          description: Name of the feature flag
        primaryGoalId:
          type: integer
          description: Primary goal of the feature flag
          format: int32
        secondaryGoalIds:
          type: array
          description: Secondary goals associated with the feature flag
          items:
            type: integer
            description: Secondary goals associated with the feature flag
            format: int32
        siteCode:
          maxLength: 10
          minLength: 1
          type: string
          description: >-
            Unique Id for the project in the Kameleoon app. This is an optional
            field to be included as query parameters
        tags:
          type: array
          description: >-
            List of tags associated with the feature flag. This is an optional
            field to be included as query parameters
          items:
            type: string
            description: >-
              List of tags associated with the feature flag. This is an optional
              field to be included as query parameters
        teamId:
          type: integer
          description: Team id
          format: int64
          readOnly: true
        variables:
          type: array
          description: Variables associated with the feature flag
          items:
            $ref: '#/components/schemas/VariableResponse'
        variations:
          type: array
          description: Variations associated with the feature flag
          items:
            $ref: '#/components/schemas/VariationResponse'
      description: Configuration for the feature flag
    ErrorResponseV1:
      type: object
      properties:
        message:
          type: string
        serviceName:
          type: string
        status:
          type: string
        time:
          type: integer
          format: int64
    BucketingKeyCustomDataDto:
      type: object
      allOf:
        - $ref: '#/components/schemas/BucketingKeyDto'
        - type: object
          properties:
            customDataId:
              type: integer
              format: int64
    BucketingKeyVisitorCodeDto:
      type: object
      allOf:
        - $ref: '#/components/schemas/BucketingKeyDto'
    EnvironmentRequest:
      required:
        - defaultVariationKey
        - environmentKey
        - featureEnabled
      type: object
      properties:
        defaultVariationKey:
          maxLength: 255
          minLength: 0
          type: string
          description: Default variation key to serve in this environment
        environmentKey:
          maxLength: 40
          minLength: 0
          type: string
          description: Environment key of this configuration
        featureEnabled:
          type: boolean
          description: Indicates if the feature flag is enabled in this environment
        integrations:
          $ref: '#/components/schemas/FeatureFlagIntegrations'
        rolloutRules:
          type: array
          items:
            oneOf:
              - $ref: '#/components/schemas/ExperimentationRuleRequest'
              - $ref: '#/components/schemas/ProgressiveRuleRequest'
              - $ref: '#/components/schemas/TargetedRuleRequest'
      description: Environment-specific configurations for the feature flag
    VariableRequest:
      required:
        - key
        - type
        - value
      type: object
      properties:
        allowedValues:
          type: array
          description: Allowed enum values
          nullable: true
          items:
            type: string
            description: Allowed enum values
            nullable: true
        key:
          maxLength: 255
          minLength: 0
          type: string
          description: Key to identify the variable
        type:
          type: string
          description: Type of the variable
          enum:
            - BOOLEAN
            - NUMBER
            - STRING
            - JSON
            - JS
            - CSS
            - ENUM
        value:
          minLength: 1
          type: string
          description: Value of the variable
      description: Variables associated with the feature flag
    VariationRequest:
      required:
        - key
        - name
      type: object
      properties:
        key:
          maxLength: 255
          minLength: 0
          type: string
          description: Key of the variation
        name:
          maxLength: 255
          minLength: 0
          type: string
          description: Name of the variation
        variables:
          type: array
          description: Set of variables implemented by the variation
          items:
            $ref: '#/components/schemas/VariationVariableRequest'
      description: Variations associated with the feature flag
    EnvironmentResponse:
      type: object
      properties:
        dateModified:
          type: string
          description: The date when this environment configuration was last modified
          format: date-time
          readOnly: true
        defaultVariationKey:
          type: string
          description: Default variation key to serve in this environment
        environmentKey:
          type: string
          description: Environment key of this configuration
        featureEnabled:
          type: boolean
          description: Indicates if the feature flag is enabled in this environment
        integrations:
          $ref: '#/components/schemas/FeatureFlagIntegrations'
        rolloutRules:
          type: array
          description: Rollout rules for this environment
          items:
            oneOf:
              - $ref: '#/components/schemas/ExperimentationRuleResponse'
              - $ref: '#/components/schemas/FeatureRolloutTargetedRule'
              - $ref: '#/components/schemas/ProgressiveRuleResponse'
      description: Environment-specific configurations for the feature flag
    VariableResponse:
      required:
        - key
        - type
        - value
      type: object
      properties:
        allowedValues:
          type: array
          description: Allowed enum values
          nullable: true
          items:
            type: string
            description: Allowed enum values
            nullable: true
        key:
          maximum: 255
          type: string
          description: Key to identify the variable
        type:
          type: string
          description: Type of the variable
          enum:
            - BOOLEAN
            - NUMBER
            - STRING
            - JSON
            - JS
            - CSS
            - ENUM
        value:
          type: string
          description: Value of the variable
      description: Variables associated with the feature flag
    VariationResponse:
      required:
        - key
        - name
      type: object
      properties:
        key:
          maximum: 255
          type: string
          description: Key of the variation
        name:
          maximum: 255
          type: string
          description: Name of the variation
        variables:
          type: array
          description: Set of variables implemented by the variation
          items:
            $ref: '#/components/schemas/VariationVariableResponse'
      description: Variations associated with the feature flag
    BucketingKeyDto:
      type: object
      properties:
        bucketingKeyType:
          type: string
          enum:
            - VISITOR_CODE
            - CUSTOM_DATA
      description: Bucketing key used for the feature flag
      readOnly: true
      discriminator:
        propertyName: bucketingKeyType
    FeatureFlagIntegrations:
      type: object
      properties:
        deliveryRules:
          type: array
          description: List of integrations enabled for delivery rules
          items:
            $ref: '#/components/schemas/FeatureFlagIntegrations'
        experimentRules:
          type: array
          description: List of integrations enabled for experimentation rules
          items:
            $ref: '#/components/schemas/FeatureFlagIntegrations'
      description: Integrations associated with the feature flag environment
    ExperimentationRuleRequest:
      required:
        - exposition
        - type
      type: object
      description: Represents an experimentation rule configuration
      allOf:
        - $ref: '#/components/schemas/RuleRequest'
        - type: object
          properties:
            controlVariationKey:
              type: string
              description: Key of the control variation for this rule
              nullable: true
            exposition:
              maximum: 100
              minimum: 0
              type: integer
              description: Percentage of the traffic exposed to this rule
              format: int32
              nullable: true
            multiArmedBandit:
              type: boolean
              description: Enable dynamic allocation for this rule (Multi-Armed Bandit)
              deprecated: true
            trafficAllocationMethod:
              type: string
              description: Defines how traffic is distributed in the SDK
              enum:
                - CONTEXTUAL_BANDIT
                - MANUAL
                - MULTI_ARMED_BANDIT
                - CONTEXTUAL_BANDIT, MANUAL, MULTI_ARMED_BANDIT
            trafficAllocations:
              type: array
              description: Traffic allocation settings for the rule
              items:
                $ref: '#/components/schemas/FeatureTrafficAllocation'
    ProgressiveRuleRequest:
      required:
        - rolloutConfiguration
        - type
        - variationKey
      type: object
      description: Represents a progressive delivery rule configuration
      allOf:
        - $ref: '#/components/schemas/RuleRequest'
        - type: object
          properties:
            rolloutConfiguration:
              oneOf:
                - $ref: '#/components/schemas/CustomRampUpRollout'
                - $ref: '#/components/schemas/ProgressiveExposure'
            variationKey:
              maxLength: 255
              minLength: 0
              type: string
              description: Variation key used as control in experiments
    TargetedRuleRequest:
      required:
        - exposition
        - type
        - variationKey
      type: object
      description: Represents a targeted delivery rule configuration
      allOf:
        - $ref: '#/components/schemas/RuleRequest'
        - type: object
          properties:
            exposition:
              maximum: 100
              minimum: 0
              type: integer
              description: >-
                Percentage of the traffic exposed to this rule. Required if
                creating, can be omitted on update for no change.
              format: int32
              nullable: true
            variationKey:
              maxLength: 255
              minLength: 0
              type: string
              description: Variation key used as control in experiments
    VariationVariableRequest:
      required:
        - key
        - value
      type: object
      properties:
        key:
          maxLength: 255
          minLength: 0
          type: string
          description: Key to identify the variable
        value:
          minLength: 1
          type: string
          description: Value of the variable
      description: Set of variables implemented by the variation
    ExperimentationRuleResponse:
      required:
        - type
      type: object
      description: >-
        Rule which can specify a segment of visitors to be exposed to an
        experimentation
      allOf:
        - $ref: '#/components/schemas/RuleResponse'
        - type: object
          properties:
            controlVariationKey:
              type: string
            exposition:
              maximum: 100
              minimum: 0
              type: integer
              description: Percentage of the traffic exposed to this rule
              format: int32
              readOnly: true
            multiArmedBandit:
              type: boolean
              description: >-
                (Deprecated, use trafficAllocationMethod instead) Enable dynamic
                allocation for this rule (Multi-Armed Bandit)
              deprecated: true
            trafficAllocationMethod:
              type: string
              description: Defines how traffic is distributed in the SDK
              enum:
                - CONTEXTUAL_BANDIT
                - MANUAL
                - MULTI_ARMED_BANDIT
    FeatureRolloutTargetedRule:
      required:
        - type
      type: object
      description: Rule which can specify a segment of visitors to expose
      allOf:
        - $ref: '#/components/schemas/RuleResponse'
        - type: object
          properties:
            exposition:
              maximum: 100
              minimum: 0
              type: integer
              description: Percentage of the traffic exposed to this rule
              format: int32
            variationKey:
              type: string
              description: Key of the variation to serve to visitors matching this rule
    ProgressiveRuleResponse:
      required:
        - type
      type: object
      description: Rule which can specify a segment of visitors to expose progressively
      allOf:
        - $ref: '#/components/schemas/RuleResponse'
        - type: object
          properties:
            currentExposition:
              type: integer
              format: int32
            rolloutConfiguration:
              oneOf:
                - $ref: '#/components/schemas/CustomRampUpRollout'
                - $ref: '#/components/schemas/ProgressiveExposure'
            variationKey:
              type: string
              description: Key of the variation to serve to visitors matching this rule
    VariationVariableResponse:
      required:
        - key
        - type
        - value
      type: object
      properties:
        key:
          maximum: 255
          type: string
          description: Key to identify the variable
        type:
          type: string
          description: Type of the variable
          enum:
            - BOOLEAN
            - NUMBER
            - STRING
            - JSON
            - JS
            - CSS
            - ENUM
        value:
          type: string
          description: Value of the variable
      description: Set of variables implemented by the variation
    RuleRequest:
      required:
        - type
      type: object
      properties:
        id:
          type: integer
          description: ID of the rule
          format: int32
          nullable: true
        name:
          maxLength: 100
          minLength: 0
          type: string
          description: Name of the rule
          nullable: true
        orderIndex:
          type: integer
          description: Order index of the rule execution
          format: int32
          nullable: true
        reallocation:
          type: boolean
          description: Perform traffic reallocation
          nullable: true
        release:
          $ref: '#/components/schemas/ReleasePeriodRequest'
        rollbackConditions:
          type: array
          description: Conditions under which the rule will be rolled back
          nullable: true
          items:
            $ref: '#/components/schemas/RollbackConditionRequest'
        segmentId:
          type: integer
          description: ID of the segment targeted by this rule
          format: int32
          nullable: true
        state:
          type: string
          description: Wished state of the rule
          nullable: true
          enum:
            - ACTIVE
            - PAUSED
            - ACTIVE
            - PAUSED
        type:
          type: string
          description: Type of the rule
          enum:
            - TARGETED_DELIVERY
            - PROGRESSIVE_DELIVERY
            - EXPERIMENTATION
            - PROGRESSIVE_DELIVERY
            - TARGETED_DELIVERY
            - EXPERIMENTATION
      description: Represents a rule configuration for creation or update
      discriminator:
        propertyName: type
    FeatureTrafficAllocation:
      type: object
      properties:
        exposition:
          type: number
          format: double
        variationId:
          type: integer
          format: int32
        variationKey:
          type: string
      description: Configuration of the repartition of the traffic
    CustomRampUpRollout:
      required:
        - steps
        - type
      type: object
      description: Custom Ramp-Up rollout configuration
      allOf:
        - $ref: '#/components/schemas/FeatureRolloutDto'
        - type: object
          properties:
            steps:
              minItems: 1
              type: array
              description: List of rollout steps
              items:
                $ref: '#/components/schemas/RolloutStep'
    ProgressiveExposure:
      required:
        - increaseBy
        - percentageRange
        - type
      type: object
      description: Progressive exposure rollout configuration
      allOf:
        - $ref: '#/components/schemas/FeatureRolloutDto'
        - type: object
          properties:
            frequency:
              $ref: '#/components/schemas/RolloutFrequency'
            increaseBy:
              maximum: 100
              minimum: 1
              type: integer
              description: Increment value in percentage
              format: int32
            percentageRange:
              $ref: '#/components/schemas/RolloutPercentageRange'
            releaseDateTime:
              type: string
              description: Release date time
              format: date-time
    RuleResponse:
      required:
        - type
      type: object
      properties:
        experimentId:
          type: integer
          description: ID of the experiment linked to this rule
          format: int32
          readOnly: true
        id:
          type: integer
          description: Unique identifier of the rule
          format: int32
        name:
          type: string
          description: Name of the rule
        release:
          $ref: '#/components/schemas/FeatureFlagRelease'
        rollbackConditions:
          type: array
          description: Conditions for defining rollback
          items:
            $ref: '#/components/schemas/FeatureRollbackCondition'
        segmentId:
          type: integer
          description: ID of the segment linked to this rule
          format: int32
          readOnly: true
        status:
          type: string
          description: Status of the rule
          readOnly: true
          enum:
            - ACTIVE
            - PAUSED
            - PLANNED
        trafficAllocations:
          type: array
          description: Traffic allocation settings for the rule
          items:
            $ref: '#/components/schemas/FeatureTrafficAllocation'
        type:
          type: string
          description: Type of the rule
          enum:
            - TARGETED_DELIVERY
            - PROGRESSIVE_DELIVERY
            - EXPERIMENTATION
      description: Rollout rules for this environment
      discriminator:
        propertyName: type
    ReleasePeriodRequest:
      required:
        - timeZone
      type: object
      properties:
        releaseFrom:
          type: string
          description: Rule being applied from this date
          format: date-time
        releaseTo:
          type: string
          description: Rule being applied to this date
          format: date-time
        timeZone:
          type: string
          description: Timezone regarding the release of this rule
          example: Europe/Paris
      description: Release date information about this rule
      nullable: true
    RollbackConditionRequest:
      required:
        - comparisonOperator
        - criteria
        - goalId
        - matchValue
        - target
        - visitors
      type: object
      properties:
        comparisonOperator:
          type: string
          description: The rollback condition comparison operator
          enum:
            - GREATER_THAN
            - LESS_THAN
            - GREATER_THAN
            - LESS_THAN
        criteria:
          type: string
          description: The rollback condition criteria
          enum:
            - UPLIFT
            - DOWNLIFT
            - CONVERSION_RATE
            - UPLIFT
            - DOWNLIFT
            - CONVERSION_RATE
        goalId:
          type: integer
          description: The rollback condition goal ID
          format: int32
        id:
          type: integer
          description: The rollback condition ID
          format: int32
          nullable: true
        matchValue:
          maximum: 100
          exclusiveMaximum: false
          minimum: 0.0001
          exclusiveMinimum: false
          type: number
          description: The rollback condition match value (0.0001 to 100)
          format: double
        recipients:
          type: array
          description: >-
            List of emails of recipients who will be notified when conditions
            are triggered
          nullable: true
          items:
            type: string
            description: >-
              List of emails of recipients who will be notified when conditions
              are triggered
            format: email
            nullable: true
        target:
          type: string
          description: The rollback condition target
          enum:
            - RULE
            - ENVIRONMENT
            - RULE
            - ENVIRONMENT
        visitors:
          minimum: 1
          type: integer
          description: The rollback condition visitors
          format: int32
      description: Conditions for defining rollback
      nullable: true
    FeatureRolloutDto:
      required:
        - type
      type: object
      properties:
        type:
          type: string
          description: Type of the feature rollout
          enum:
            - PROGRESSIVE_EXPOSURE
            - CUSTOM_RAMP_UP
      discriminator:
        propertyName: type
    RolloutStep:
      type: object
      properties:
        dateTime:
          type: string
          description: Date time of the step
          format: date-time
        exposure:
          type: number
          description: Exposure of the step
          format: float
      description: Rollout step
    RolloutFrequency:
      required:
        - unit
        - value
      type: object
      properties:
        unit:
          type: string
          description: Unit
          enum:
            - Nanos
            - Micros
            - Millis
            - Seconds
            - Minutes
            - Hours
            - HalfDays
            - Days
            - Weeks
            - Months
            - Years
            - Decades
            - Centuries
            - Millennia
            - Eras
            - Forever
        value:
          minimum: 1
          type: integer
          description: Value
          format: int32
      description: Frequency at which the exposition will evolve
    RolloutPercentageRange:
      required:
        - start
        - stop
      type: object
      properties:
        start:
          maximum: 100
          minimum: 0
          type: integer
          description: Percentage starts at
          format: int32
        stop:
          maximum: 100
          minimum: 0
          type: integer
          description: Percentage stops at
          format: int32
      description: Percentage range of the rollout
    FeatureFlagRelease:
      type: object
      properties:
        releaseFrom:
          type: string
          description: Rule being applied from this date
          format: date-time
        releaseTo:
          type: string
          description: Rule being applied to this date
          format: date-time
        timeZone:
          type: string
          description: Timezone regarding the release of this rule
          example: Europe/Paris
      description: Release date information about this rule
    FeatureRollbackCondition:
      type: object
      properties:
        comparisonOperator:
          type: string
          description: The rollback condition comparison operator
          enum:
            - GREATER_THAN
            - LESS_THAN
        criteria:
          type: string
          description: The rollback condition criteria
          enum:
            - UPLIFT
            - DOWNLIFT
            - CONVERSION_RATE
        goalId:
          type: integer
          description: The rollback condition goal ID
          format: int32
        id:
          type: integer
          description: The rollback condition ID
          format: int32
          readOnly: true
        matchValue:
          maximum: 100
          minimum: 0.0001
          type: number
          description: The rollback condition match value
          format: double
          example: 50
        recipients:
          type: array
          description: >-
            List of emails of recipients who will be notified when conditions
            are triggered
          items:
            type: string
            description: >-
              List of emails of recipients who will be notified when conditions
              are triggered
        target:
          type: string
          description: The rollback condition target
          enum:
            - RULE
            - ENVIRONMENT
        visitors:
          minimum: 1
          type: integer
          description: The rollback condition visitors
          format: int32
          example: 1000
      description: Rollback condition for a feature flag rule

````